kill příkaz je velmi jednoduchý obal na kill systémové volání , který ví pouze o ID procesů (PID). pkill a killall jsou také obaly do kill systémové volání , (ve skutečnosti do knihovny libc, která přímo vyvolává systémové volání), ale může za vás určit PID na základě věcí, jako je název procesu, vlastník procesu, ID relace atd.
Jak pkill a killall práci lze zobrazit pomocí ltrace nebo strace na ně. V Linuxu oba čtou /proc souborový systém a pro každý nalezený pid (adresář) projde cestu tak, aby identifikoval proces podle jeho jména nebo jiných atributů. Jak se to dělá, je technicky vzato, specifické pro jádro a systém. Obecně se čtou z /proc/<PID>/stat který obsahuje název příkazu jako 2. pole. Pro pkill -f a pgrep prozkoumejte /cmdline záznam pro každý procesní záznam PID.
pkill a pgrep použijte readproc systémové volání, zatímco killall ne. Nedokázal jsem říci, zda existuje rozdíl ve výkonu:budete to muset porovnat sami.
kill a killall jsou nástroje, které poskytují způsob, jak zabít proces. První svým PID, druhý svým jménem.pgrep (seznam) a pkill (výchozí zabití) jsou nástroje, které poskytují způsob, jak poslat zprávu procesu podle jeho jména nebo jiných atributů viz:http://linux.die. net/man/1/pkill Další informace o signálech:http://linux.die.net/man/7/signal