Robię projekt dla szkoły i polega na uruchomieniu programu java, który czasami ulega awarii. Aby zabić niereagujący program, przejdę do mojego doku, kliknij prawym przyciskiem myszy program i naciśnij „Wymuś wyjście”:
Program, który zabija ma okno z tytułem „Planet Wars Visualizer”, a górne menu programu w lewym górnym rogu mówi „CLViewer”:
Zamiast naciskać „Wymuś zamknięcie” za każdym razem, chcę po prostu użyć killall <name>
dowództwo. Jednakże, kiedy idę do mojego monitora aktywności, nie widzę żadnych procesów z nazwami „Java”, „Planet Wars Visualizer” lub „CLViewer”. Nawet kiedy próbuję killall
z tymi imionami, które właśnie dostaję No matching processes belonging to you were found
.
Jak mogę znaleźć prawdziwą nazwę procesu tylko dzięki wskazówkom, które mam?
ps -a
?ps -a | pbcopy
Odpowiedzi:
Gdy program przestanie odpowiadać, otwórz Monitor aktywności i sprawdź, czy po procesie następuje czerwony komunikat, który mówi, że nie odpowiada. Stamtąd możesz uzyskać nazwę procesu.
źródło
Użyj
pkill
dowództwo.Ze strony man (
man pkill
)Przed wydaniem
pkill
Polecenie to warto przetestować, używającpgrep
komenda pierwsza (ze strony man: „znajdź lub sygnalizuj procesy według nazwy”).Kiedy będziesz tego pewien
pgrep
znajduje procesy, które są zainteresowane zabijaniem, wydajpkill
dowództwo.źródło