Po użyciu po prostu kill <some_pid>
na systemach Unix przez wiele lat, dowiedziałem się pkill
z młodszym Linux-zrozumiały współpracownika kolegi 1 .
Wkrótce zaakceptowałem sposób Linux- pgrep
a i pkill
-ing przez wiele dni i nocy, przez spowolnienia i warunki wyścigowe. Wszystko było dobrze i dobrze.
Ale teraz widzę tylko killall
. Wydaje się, że poradniki tylko wspominają killall
i nie jestem pewien, czy jest to jakiś równoległy rozwój, czy killall
jest następcą pkill
lub czymś innym.
Wydaje się działać jako bardziej ukierunkowany pkill
, ale jestem pewien, że coś mi umknęło.
Czy osoba znająca system Ubuntu / Debian 2 może wyjaśnić, kiedy (lub dlaczego) killall
powinna być używana, szczególnie jeśli powinna być używana zamiast pkill
(kiedy pkill
często wydaje się to łatwiejsze, ponieważ mogę być niechlujny z dopasowywaniem nazw, przynajmniej domyślnie).
Mówiąc o killall
, nie myślę o poleceniu, które w niektórych systemach uniksowych (Solaris, AIX,?) Zabiłoby wszystkie procesy użytkownika. Oto opis tej wersji ze strony podręcznika dla systemu AIX IBM :
Komenda killall anuluje wszystkie uruchomione procesy, z wyjątkiem tych, które powodują proces killall. To polecenie zapewnia wygodny sposób anulowania wszystkich procesów utworzonych przez kontrolowaną powłokę. Po uruchomieniu przez użytkownika root polecenie killall anuluje wszystkie anulowane procesy oprócz tych, które je uruchomiły. Jeśli podano kilka sygnałów, działa tylko ostatni.
1 „kolega” to bezpłatne uaktualnienie od „współpracownika”, więc równie dobrze może.
2 Początkowo myślałem, że to Linux lub Debian, ale niektóre źródła podają, że Linux killall
pochodzi z Uniksa o smaku BSD.
killall
(stary?) System Solaris, ale zachowywał się inaczej. Zabił wszystko.