Czasami zauważam, że proces się Python
rozłączył. Potem zabiję go za pomocą Monitora aktywności i wszystko będzie w porządku.
Zamiast tego chciałbym zabić ten proces w terminalu. Jednak wyszukiwanie PID
wydaje się trochę niepotrzebne, ponieważ z nazwy wiąże się tylko jeden proces Python
.
Czy można zabić proces pod jego unikalną nazwą?
No matching processes belonging to you were found
sudo killall Python
.sudo
użycia goPID
. Czemu?sudo
.Jeśli nie możesz być sudo, ponieważ poprosi o hasło i czuję, że nie chcesz tego w skrypcie. pkill przyjdź na ratunek :)
źródło
Możesz zabić aplikacje za pomocą Activity Monitor.app, który jest rozwiązaniem GUI. Byłoby to proste „wymuszenie wyjścia”. Jednak w niektórych sytuacjach nie zawsze działa to z różnych powodów!
Rozwiązanie wiersza polecenia, jak wspomniano w powyższym komentarzu, oferuje użytkownikowi znacznie więcej opcji.
sudo killall Python
lub jeśli jest uruchomionym procesem programowym, równieżsudo killall /Applications/Whatever.app
zmusza proces do zakończenia.Możesz także zmusić proces do wyjścia, używając przypisanego PID . W przypadku Activity Monitor.app będzie to
kill 25794
lubkill -9 25794
Kilka dodatkowych szczegółów:
Program zabijania w Terminalu po prostu wymusza zamknięcie programu, tak jak za pomocą pilota. (Działa nawet, gdy SSH podłączasz do komputera Mac ze zdalnej lokalizacji. Postępuj zgodnie z poleceniem kill z numerem identyfikacyjnym procesu (krótkim PID) programu, który chcesz zakończyć.
O ile nie korzystasz również z sudo, możesz zabijać tylko programy, które „posiadasz” - działające na Twoim koncie. (Sam system operacyjny - root - zawsze uruchamia własne programy i technicznie możliwe jest, że inni ludzie, dzwoniąc z drogi, uruchamiają własne programy nawet podczas korzystania z komputera Mac!)
-9
Flaga jest „non-połów, nie do pominięcia kill”. Innymi słowy, jest to zabójca przemysłowej wytrzymałości, że nie przyjmuje żadnych zarzutów o miłosierdzie z programu Zabijasz.źródło
Mimo że ma używać PID, znaleźć następujące być całkiem wydajny:
ps aux | grep "String or name of process"
Ta linia zwraca wiele informacji na temat pasujących procesów, a ty możesz
kill
lub cokolwiek z tego.źródło
Na podstawie https://stackoverflow.com/a/22334807/1243763
źródło
pidof
binarny jako niestandardowy aliasps -e -o pid,args | grep -E "\b$1\b" | awk "{print \$1}" | tr '\n' ' '
. Mapkill -f
to więcej sensu.