Odpowiedzi:
Komenda służąca do znalezienia identyfikatora procesu (biorąc pod uwagę jego nazwę) to pidof
. Ponieważ jednak Twoim celem jest zabicie procesu, istnieją lepsze / łatwiejsze sposoby niż pidof
najpierw znalezienie jego pid:
Zakładając, że proces, który chcesz zabić, jest jednoznacznie identyfikowany przez jego nazwę (lub chcesz zabić wszystkie procesy o tej nazwie), nie musisz znać jego pid. Możesz po prostu zrobić killall processname
.
Jeśli istnieje wiele procesów o tej samej nazwie, ale chcesz zabić tylko jeden z nich, użycie pidof
nie pomoże ci zbyt wiele, ponieważ da ci pid, ale nie dostarczy żadnych informacji, aby określić, który z pids należy do procesu, który naprawdę chcesz zabić.
W tym przypadku możesz zrobić, ps aux | grep processname
który pokaże wszystkie procesy o podanej nazwie, a także konsolę, na której działają (jeśli dotyczy) oraz argumenty, z którymi zostały wywołane, co, miejmy nadzieję, pozwoli ci zidentyfikować proces, którego szukasz .
Jeśli proces otworzył jakieś X-Windows, możesz również użyć xkill
do zabicia (wywołaj, xkill
a następnie kliknij okno).
Miałem również podobny problem. Użyłem pstree -p
; pokazało mi to bieżące uruchomione procesy, w tym identyfikatory procesów.
Moim ulubionym jest pstree -p | grep $(program_name)
. To faktycznie pomija proces, wyróżnia go i pokazuje pid w nawiasie.
Moim kolejnym ulubionym (szczególnie podczas programowania i potrzebującym wszystkich pid z procesu) jest pgrep -law ""
. Daje to dosłownie wszystkie uruchomione pid, po których następuje aplikacja (z bezwzględną ścieżką).
Można to zmniejszyć do pgrep -lw ""
pid, po którym następuje nazwa programu lub nawet tylko pgrep -l
dla wszystkich pid
Oczywiście możesz wyszukać konkretny program (lub jego część). (tzn. pgrep -lw firef
prawdopodobnie wyświetli coś takiego jak „4567 Firefox”).
pstree -psH $(pgrep prgram_name)
byłoby lepiej w pierwszym przypadku?
Ta odpowiedź od @Ben na zduplikowane pytanie rozwiązała mój problem:
Rozważ użycie top
polecenia w terminalu.
The top program provides a dynamic real-time view of a running
system. It can display system summary information as well as a
list of processes or threads currently being managed by the Linux
kernel. The types of system summary information shown and the
types, order and size of information displayed for processes are
all user configurable and that configuration can be made persis‐
tent across restarts.
przez górę człowieka
grep
wyszukiwania nazwy określonego procesu:ps -A | grep 'my name'