Narzędzia pgrep
i pkill
zostały wprowadzone w Solarisie 7 firmy Sun i, jak zauważył g33klord , przyjmują wzorzec jako argument, który jest porównywany z nazwami uruchomionych procesów. Podczas gdy pgrep
drukuje jedynie listę pasujących procesów, pkill
wyśle określony sygnał (lub SIGTERM
domyślnie) do procesów. Wspólne opcje i semantyka pomiędzy pgrep
i pkill
przydają się, gdy chcesz zachować ostrożność i najpierw przejrzeć procesy dopasowywania listy pgrep
, a następnie zabić je pkill
. pgrep
i pkill
są dostarczane przez te Procps pakietu, który przewiduje również inne /proc
narzędzia systemu plików, takie jak ps
, top
, free
, uptime
między innymi.
killall
Komenda jest przez Psmisc pakietu, i różni się od pkill
tym, że domyślnie jest zgodna z nazwą argumentu dokładnie (do pierwszych 15 znaków) przy określaniu procesów sygnały zostaną wysłane do. -e
, --exact
Opcja może być określona również wymagają dokładnych wyników dla nazw dłuższych niż 15 znaków. To sprawia, że killall
korzystanie z niej jest nieco bezpieczniejsze w porównaniu do pkill
. Jeśli podany argument zawiera /
znaki ukośnika ( ), argument zostanie zinterpretowany jako nazwa pliku, a procesy uruchamiające ten konkretny plik zostaną wybrane jako odbiorcy sygnału. killall
obsługuje także dopasowywania wyrażeń regularnych nazw procesowych, za pośrednictwem -r
, --regexp
opcja.
Istnieją również inne różnice. killall
Komenda na przykład ma możliwości dopasowania procesów według wieku ( -o
, --older-than
a -y
, --younger-than
), natomiast pkill
można powiedzieć, aby zabić tylko procesy dotyczące konkretnego terminala (poprzez -t
opcję). Oczywiście oba polecenia mają określone nisze.
Zauważ, że killall
polecenie potomnych systemów Unix System V (zwłaszcza Solaris firmy Sun , AIX IBM i HP-UX HP ) zabija wszystkie procesy możliwe do wywołania przez konkretnego użytkownika, skutecznie zamykając system, jeśli jest uruchamiany przez root.
Narzędzia psmisc dla systemu Linux zostały przeniesione do BSD (i rozszerzenia Mac OS X ), stąd killall
semantyka „zabija procesy według nazwy”.