Narzędzia pgrepi pkillzostał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 pgrepdrukuje jedynie listę pasujących procesów, pkillwyśle określony sygnał (lub SIGTERMdomyślnie) do procesów. Wspólne opcje i semantyka pomiędzy pgrepi pkillprzydają się, gdy chcesz zachować ostrożność i najpierw przejrzeć procesy dopasowywania listy pgrep, a następnie zabić je pkill. pgrepi pkillsą dostarczane przez te Procps pakietu, który przewiduje również inne /procnarzędzia systemu plików, takie jak ps, top, free, uptimemiędzy innymi.
killallKomenda jest przez Psmisc pakietu, i różni się od pkilltym, ż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, --exactOpcja może być określona również wymagają dokładnych wyników dla nazw dłuższych niż 15 znaków. To sprawia, że killallkorzystanie 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. killallobsługuje także dopasowywania wyrażeń regularnych nazw procesowych, za pośrednictwem -r, --regexpopcja.
Istnieją również inne różnice. killallKomenda na przykład ma możliwości dopasowania procesów według wieku ( -o, --older-thana -y, --younger-than), natomiast pkillmożna powiedzieć, aby zabić tylko procesy dotyczące konkretnego terminala (poprzez -topcję). Oczywiście oba polecenia mają określone nisze.
Zauważ, że killallpolecenie 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 killallsemantyka „zabija procesy według nazwy”.