Katakanlah saya ingin membunuh setiap proses yang mengandung kata amarok. Saya dapat mencetak perintah yang ingin saya jalankan. Tapi bagaimana caranya membuat shell mengeksekusinya. yaitu.
ps aux | grep -ie amarok | awk '{print "kill -9 " $2}'
Output:
kill -9 3052
kill -9 3071
kill -9 3076
kill -9 3077
kill -9 3079
kill -9 3080
kill -9 3082
kill -9 3083
kill -9 3084
kill -9 3085
kill -9 3086
kill -9 3087
kill -9 3088
kill -9 3089
kill -9 4031
shell
command-line
kill
PuercoPop
sumber
sumber
| sh -x
setelah sisa baris perintah Anda?kill -9
pada proses, lihat [manajemen proses] [1] [1]: mywiki.wooledge.org/… ...amarokx
proses juga? Saya pkill vi, itu membunuhsupervisorctl
yang mengandung `vi 'dalam kata.-9
itu cukup tidak membantu - apakah ada informasi yang lebih baik tentang mengapa orang tidak boleh menggunakannya? Itu hanya mengatakan "jangan, dan pecat orang yang menggunakannya"; tetapi yang pernah saya lihat di tempat lainkill -9 {pid}
adalah bagaimana cara membunuh sesuatu ...Jawaban:
Dari
man 1 pkill
Yang berarti, misalnya, jika kita melihat garis-garis ini di
ps aux
:Kita dapat membunuh mereka semua menggunakan
-f
opsi pkill :sumber
-9
sampai akhir!httpdx
proses juga? Saya pkill vi, itu membunuhsupervisorctl
yang mengandung `vi 'dalam kata.-i
, gunakanpkill -fi wine
. Untuk memverifikasi sebelum dan sesudah, gunakanps uax | grep -i wine
.xargs (1): xargs - membuat daftar argumen dan menjalankan utilitas. Bermanfaat ketika Anda ingin memasukkan argumen ke sesuatu seperti
kill
atauls
atau lebih.sumber
ps aux | grep -ie amarok | grep -v grep | awk '{print $2}' | xargs kill -9
(grep -v
singkatangrep --invert
)menggunakan
pgrep
sumber
pkill -9 amarok
kill -9 $(pgrep -f amarok)
Cara aman untuk melakukan ini adalah:
sumber
-l
bendera. Aku sebenarnya hanya aliaspkill
untukpkill -fl
jadi saya dapat menjalankan sesuatu sepertipkill jboss
dan itu akan meludahkan proses yang baru saja membunuh.amarokx
proses juga? Saya pkill vi, itu membunuhsupervisorctl
yang mengandung `vi 'dalam kata.pkill: invalid option -- 'l'
- pkill dari procps-ng 3.3.12Saya pikir perintah killall ini persis apa yang Anda butuhkan. Perintah ini dideskripsikan sebagai "bunuh proses dengan nama". Mudah digunakan
Perintah ini akan mematikan semua proses Chrome. Berikut adalah tautan tentang perintah killall
http://linux.about.com/library/cmd/blcmdl1_killall.htm
Semoga perintah ini bisa membantu Anda.
sumber
ps aux
keluaranpkill -x sama persis dengan nama proses.
pkill -f serupa tetapi memungkinkan pola ekspresi reguler.
Perhatikan bahwa pkill tanpa parameter lain (misalnya -x, -f) akan memungkinkan kecocokan sebagian pada nama proses. Jadi "pkill amarok" akan membunuh amarok, amarokBanana, bananaamarok, dll.
Saya berharap -x adalah perilaku default!
sumber
amarokx
proses juga? Saya pkill vi, itu membunuhsupervisorctl
yang mengandung `vi 'dalam kata.Jika Anda ingin mengeksekusi output dari sebuah perintah, Anda dapat memasukkannya ke dalam
$(...)
, namun untuk tugas spesifik Anda lihatlah padakillall
danpkill
perintah.sumber
Anda juga dapat mengevaluasi output Anda sebagai sub-proses, dengan mengelilingi semuanya dengan kutu belakang atau dengan memasukkannya ke dalam $ ():
sumber
coba kill -s 9
ps -ef |grep "Nov 11" |grep -v grep | awk '{print $2}'
Untuk membunuh proses 11 November atau kill -s 9ps -ef |grep amarok|grep -v grep | awk '{print $2}'
Untuk membunuh proses yang mengandung kata amaroksumber
Mungkin menambahkan perintah ke file yang dapat dieksekusi, mengatur + x izin dan kemudian mengeksekusi?
sumber
Jika Anda menggunakan cygwin atau shell minimal yang kurang
killall
Anda dapat menggunakan skrip ini:killall.sh - Bunuh dengan nama proses.
Pemakaian:
sumber
kill: invalid argument f