Chcę zabić proces po znalezieniu identyfikatora w jednym kroku.
Obecnie używam tych dwóch poleceń:
pidof <name>
kill <#number_which_is_result_of_command>
Jak mogę napisać jedno polecenie, aby to zrobić?
command-line
process
kill
Cuil Yahoo
źródło
źródło
bash
?tcsh
? ...kill
różnorodność poleceń będzie działać z konsoli (plus może być zautomatyzowany w skryptach itp.). Nadal dobrze, aby ludzie bylixkill
pewni tej opcji.Odpowiedzi:
Możesz także zabijać procesy według nazwy:
Przykład:
źródło
pkill
nakill
?-o
lub-n
,pkill
zabija również wszystkie procesy dopasowania, a nie tylko jeden.killall
to BARDZO ZŁA PORADA. Robi bardzo różne rzeczy w zależności od tego, na którym Unixie / Linuksie się znajdujesz.Aby odpowiedzieć na określone pytanie za pomocą zestawu poleceń, użyj:
Ponieważ
pidof <name>
daje PID procesu, który próbujesz zabić, możesz go używać z przełącznikami wiersza poleceń, takimi jak-9
itp.Testowane z
bash
itcsh
.źródło
kill $(pidof <name>)
jest bardziej kompatybilny (POSIX) i może być używany wewnątrz innego bloku zastępowania poleceń .$
wersji do współpracy z tcsh.tcsh
i masz rację. Nie wiedziałem tego. Dzięki za informacje!Powinien być komentarz na temat Levona, ale brakuje mi tutaj przedstawiciela:
Opowiadając o dyskusji w zaakceptowanej odpowiedzi na to pytanie: /server/397762/how-to-make-folders-00-99-w-a-single-command-in-ubuntu
Powiedziałbym, że może być lepiej (lub przynajmniej użyteczne / bardziej zrozumiałe dla późniejszych użytkowników) do uruchomienia
Dalsze odniesienia do $ () vs. ``: http://mywiki.wooledge.org/BashFAQ/082
źródło
Możesz także użyć
killall
polecenia, aby zabić dany proces.źródło