untuk menemukan PID proses untuk mematikan gunakan:
pgrep <process command>
Saya kemudian menggunakan perintah kill untuk membunuh PID yang dikembalikan oleh pgrep <process command>
kill <PID>
Bisakah perintah ini digabungkan menjadi satu sehingga dapat membunuh PID atau PID yang dikembalikan oleh pgrep <process command>
? Atau adakah metode membunuh banyak proses dengan nama perintah?
Sesuatu seperti : kill(pgrep <name of process>)
kill
ps
process-management
langit biru
sumber
sumber
pkill
? Atau, Anda mungkin ingin menggunakanxargs
.pgrep
halaman manual menyebutkanpkill
semua tempat (karena 2 perintah berasal dari paket yang sama).Jawaban:
Anda dapat menggunakan pkill:
Anda mungkin juga ingin menggunakan substitusi proses (meskipun ini tidak sejelas):
Dan Anda mungkin ingin menggunakan
xargs
:sumber
pgrep
dankill
. Gunakan sajapkill
.pkill
mendapatkan daftar proses dan benar-benar mengirim sinyal, hanya saja lebih sulit untuk melihat dalam kasus itu.kill $(ps|head -1)
ingin menghindari kondisi balapan ... tapi sebenarnya tidak ada cara untuk menghindarinya. Prosesnya bisa mati di sembarang titik dalam pipa.Anda dapat menggunakan
killall
juga, misuntuk mengirim
SIGTERM
ke semuafirefox
proses.sumber
killall
memiliki arti berbeda pada sistem unix berbeda - jika Anda menggunakan sistem non-Linux pastikan untuk memeriksa dokumentasinya.killall -KILL firefox
bisa merasakan sooo bermanfaat.killall
adalah mengapa saya tidak pernah menggunakannya. Menjalankankillall
pada kotak solaris misalnya adalah bencana.Ya, Anda dapat menggunakan fitur bash dan mengulangi output.
sumber
kill <no>:failed: operation not permitted
Anda dapat membunuh banyak proses dengan array. Dalam hal ini Anda dapat menentukan opsi sebagai
$ip
,$hostname
atau sesuatu yang serupa.sumber