To prawdopodobnie często zadawane pytanie, ale nie udało mi się znaleźć dobrej dokumentacji.
Mam zadania uruchomione w moim systemie:
foo@fooBox:~/tmp$ jobs
[1]+ Stopped foo bar baz
Jak mogę zabić ten proces? Próbowałem różnych poleceń kill 1
, ale to nie zadziałało.
SIGINT
, takich jakvim
.Odpowiedzi:
Możesz użyć metody sugerowanej przez @fideli lub możesz użyć
kill
polecenia w następujący sposób:Zabije to pierwsze zawieszone polecenie. Możesz również znaleźć listę zawieszonych poleceń, takich jak:
i zapewni takie dane wyjściowe:
Jeśli masz wiele zatrzymane pracy, liczba w nawiasach (
[1]
) będzie liczba miejsc pracy, jedna po podasz%
wkill
poleceniu.źródło
kill
.-bash: kill: (3593) - Operation not permitted
. Kiedy używam go z sudo, dostaję tokill: %1: invalid process id
sudo
, więc nie możesz go zabić, ale uruchomieniekill
przy użyciusudo
oznacza, że nie masz już dostępu do listy zadań użytkownika (spróbuj bieganie,sudo jobs
aby zobaczyć, co mam na myśli). Zamiast tego, ponieważ masz teraz PID, po prostu uruchomsudo kill 3593
.Po uruchomieniu
ps ax
otrzymasz listę wszystkich uruchomionych procesów. Poszukaj tego, którego chcesz zabić, i zanotuj liczbę wPID
kolumnie. Na przykład powiedz, że był to numer10203
, a następnie uruchom:Możesz także uruchomić,
ps ax | grep foo
aby znaleźć dokładnie ten program, którego szukasz. Wreszcie możesz uruchomić:zabić wszystkie przypadki
foo
.źródło