Membunuh semua instance dari program tertentu dari baris perintah [ditutup]

23

Apakah ada cara untuk membunuh semua instance dari program tertentu dengan perintah command-line?

George
sumber
12
OS yang mana? Itu killall di bawah * ix.
Dave C
1
Pertanyaan ini terlalu luas, kecuali jika Anda menentukan satu atau dua OS yang ingin Anda selesaikan.
Karan

Jawaban:

47

Di GNU / Linux, BSD, OS X, dan Unix-like lainnya

killall program

Di Windows

taskkill /IM program.exe
Der Hochstapler
sumber
6
Hati-hati dengan "like Unix lainnya": Di Solaris killall,, yah, bunuh semua : tehtable.wordpress.com/2009/12/07/note-to-self-solaris-linux
us2012
Menggunakan /Fbendera untuk membunuh dengan paksa.
Hassaan Salik
4

Pada Windows 7 (Vista?), Saya lebih suka tskill processnamekarena Anda tidak perlu mengingat switch baris perintah atau menulis .exe di akhir. misalnya:

tskill chrome

Akan membunuh semua proses chrome.

Pada windows XP saya menggunakan pskilldari pstools suite, yang menggunakan sintaksis yang sama. Kedua perintah ini juga dapat berfungsi pada komputer jarak jauh, jika Anda memiliki hak admin.

Luke
sumber
4

Pada banyak sistem Anda akan menemukan perintah killdan killall.

Jika Anda mengetahui PID prosesnya maka Anda dapat menggunakannya kill PID

Yang pertama hanya membunuh satu proses tertentu. (Atau lebih tepatnya, ia mengirim sinyal ke sana, misalnya sinyal untuk berakhir). Anda dapat menulis pembungkus dengan ps dan grep untuk membunuh semua proses yang cocok dengan nama.

atau, jika diinstal, Anda bisa menggunakan killall

Namun waspadalah, tidak semua perintah killall melakukan hal yang sama. Pada Solaris itu membunuh semua proses. Saya ulangi semuanya. Bukan hanya yang Anda inginkan, tetapi setiap proses yang Anda miliki hak untuk membunuh akan terbunuh. Pastikan Anda memeriksa halaman manual sistem lokal Anda dan atau memeriksa apakah itu adalah tautan ke killall5.

Hennes
sumber
Bagus. Jadi apakah killall5 yang jahat atau yang membunuh proses yang Anda inginkan?
LarsH
killall5adalah yang jahat.
cpast
2

Di windows jika Anda ingin mematikan suatu proses dan proses anak apa pun yang dimulai dengan itu Anda harus menggunakan perintah ini Taskkill / im program.exe / t

Farhad
sumber
1

Di Windows 7 ada taskkill.

STF
sumber
1

untuk Windows, Anda dapat menggunakan
taskkill / im program_name
menggunakan taskkill / im program_name / f untuk program yang lebih bermasalah.
Gunakan ProcessExplorer jika Anda menginginkan alternatif GUI untuk Taskmanager

pengguna13267
sumber
1

Di Linux, perintahnya adalah pkillatau killall. pkillumumnya direkomendasikan, karena pada beberapa sistem, killallsebenarnya akan membunuh semua proses .

Pasang kembali Monica
sumber
dis ~ # killall Penggunaan: killall [OPTION] ... [-] NAME ... killall -l, --list killall -V, --version -e, - tepat membutuhkan pencocokan tepat untuk nama yang sangat panjang -Saya , - abaikan case case match nama proses tidak cocok ...
elcash
1
@ Brendan Long: Ini bukan legenda urban. Pada beberapa sistem SYS V killallsebenarnya membunuh semua. Itu tidak perlu hal yang buruk, tetapi jika Anda tidak mengharapkannya untuk berperilaku berbeda pada sistem yang berbeda maka Anda mungkin mendapatkan momen pendidikan .
Hennes
0

Hmm, dan untuk berpikir bahwa saya telah menggunakan pkill bertahun-tahun ...

KevinM
sumber