Questions on `pgrep' and `pkill'
Garance A Drosihn
drosih at rpi.edu
Thu Mar 25 18:06:00 PST 2004
Well, I have added pkill & pgrep to src/usr.bin, and have it
pretty much working (thanks to lioux, who had already done all
the real work in the port for sysutils/pkill).
I have two minor questions.
For the 5.x-branch, I assume that:
plist = kvm_getprocs(kd, KERN_PROC_ALL, 0, &nproc);
should be asking for KERN_PROC_PROC. Or should I add an `-H'
option to govern that? Would it make any sense for these commands
to list out threads? (or it would it make sense for `pgrep' but
not for `pkill'? I have no experience with threaded processes...)
The other question is just something I'm confused about. I have
my own little "psgrep" script, so once I had `pgrep' working I
compared what my script does to the new command. It happens that
I'm running OpenAFS on this machine, and here's basically what I
got:
(35) psgrep afsd
641 /usr/local/sbin/afsd -stat 1200 -dcache 800 ...
642 /usr/local/sbin/afsd -stat 1200 -dcache 800 ...
643 /usr/local/sbin/afsd -stat 1200 -dcache 800 ...
644 /usr/local/sbin/afsd -stat 1200 -dcache 800 ...
645 /usr/local/sbin/afsd -stat 1200 -dcache 800 ...
646 /usr/local/sbin/afsd -stat 1200 -dcache 800 ...
647 /usr/local/sbin/afsd -stat 1200 -dcache 800 ...
648 /usr/local/sbin/afsd -stat 1200 -dcache 800 ...
649 /usr/local/sbin/afsd -stat 1200 -dcache 800 ...
650 /usr/local/sbin/afsd -stat 1200 -dcache 800 ...
(36) pgrep -fl afsd
644 /usr/local/sbin/afsd -stat 1200 -dcache 800 ...
I don't understand why pgrep matched only one of these. If you
turn on the `-D' option that I added to pgrep, it seems that all
the rest of those afsd processes have the P_SYSTEM flag set. Why
would all of those processes but one have that flag set? Or why
doesn't that one *also* have it set? It isn't even the first or
last process that was started up.
This wasn't the behavior I would expect. Are there some other
flag(s) I should be checking for whatever these commands are
using P_SYSTEM for? (I think we'll all be better off if I don't
try to become a kernel developer to answer this...)
--
Garance Alistair Drosehn = gad at gilead.netel.rpi.edu
Senior Systems Programmer or gad at freebsd.org
Rensselaer Polytechnic Institute or drosih at rpi.edu
More information about the freebsd-arch
mailing list