Membunuh semua instance Chrome di baris perintah?

37

Dalam beberapa kasus membunuh satu tab / proses tidak berfungsi dan saya harus menutup Chrome sepenuhnya. Karena Chrome memiliki banyak proses, bagaimana saya bisa menutup semuanya sekaligus?

Saya tahu itu...

pgrep chromemengembalikan semua pids. Apa trik yang memungkinkan saya untuk menutup semuanya dengan memberi mereka makan ke perintah lain atau menggabungkan mereka ke file CSV atau sesuatu?

omeraliev meder
sumber
3
Karena setidaknya ada tiga jawaban di sini yang tidak perlu dilakukan kill -9, berikut adalah tiga referensi yang membahas alasan yang harus menjadi pilihan terakhir Anda: Kapan saya harus menggunakan kill -9 , kill -9 dan gunanya menggunakan kill -9 .
Dijeda sampai pemberitahuan lebih lanjut.
1
Pertanyaan serupa di situs U / Linux: unix.stackexchange.com/q/34101/6272
AlikElzin-kilaka
Jawaban terbersih benar-benar adalah dari pertanyaan di situs lain, seperti disebutkan di bawah ini, karena ini mencari tahu proses mana yang harus dibunuh oleh timestamp tertua:pkill --oldest chrome
nealmcb

Jawaban:

55

Coba gunakan pkill (1) .

pkill chrome

Jschmier
sumber
Perlu diketahui bahwa pkill mungkin tidak ada di semua sistem, tetapi jika Anda memiliki pgrep, kemungkinan besar pkill juga ada.
kSiR
2
bagi saya ini adalah case sensitive, saya perlu menulispkill Chrome
Liron Yahdav
1
Tidak bekerja untuk saya. Menggunakannya pkill chrometidak menutup proses chrome utama. Itu menutup semua proses internal yang menyebabkan crash pada semua ekstensi. Juga, itu menyebabkan beberapa jendela tidak terbuka pada peluncuran berikutnya, menyebabkan hilangnya status :(
AlikElzin-kilaka
2
@ AlikElzin-kilaka - Anda dapat mencoba secara eksplisit membunuh proses Chrome tertua dengan sesuatu sepertipkill --oldest chrome
rinogo
13
ps aux | grep chrome | awk ' { print $2 } ' | xargs kill -9

atau

pgrep chrome | xargs kill -9

atau

ps aux | awk '/chrome/ { print $2 } ' | xargs kill -9

Yang terakhir lebih "elegan" karena tidak akan mengambil pid sebenarnya untuk "grep chrome" di dalam daftar ps-nya

:-)

kSiR
sumber
Apakah ada alasan untuk menggunakan ps ... | bukan pgrep, bahkan seandainya Anda tidak ingin menggunakan pkill?
Cascabel
3
Selalu sopan untuk memulai dengan SIGTERM sebelum naik ke SIGKILL.
Cascabel
tidak juga, satu-satunya alasan saya melemparkan opsi ps di luar sana karena banyak sistem saya adalah tulang kosong yang berarti kita tidak memiliki hal-hal seperti pkill pgrep
kSiR
Saya setuju, tetapi satu hanya diminta untuk membunuh: -O s / -9 / -1 / g
kSiR
6

Beberapa sistem mungkin juga memiliki program yang bermanfaat seperti killalldan pidof(yang sebenarnya disediakan oleh Sistem V killall5):

killall chrome
kill -9 `pidof chrome`

Keduanya harus memenuhi apa yang Anda minta.

John Ledbetter
sumber
1
Anda tidak boleh menggunakan -9kecuali sebagai pilihan terakhir. Lakukan kill PIDdulu.
Dijeda sampai pemberitahuan lebih lanjut.
killalljuga mendukung ketidakpekaan huruf besar-kecil, misalnya: killall --ignore-case ChRomEakan mematikan semua proses Chrome. Opsi --ignore-caseini juga dapat disingkat menjadi -I. Sayangnya, pkilltidak mendukung case-insensitivity - setidaknya pada sistem Linux yang saya coba (tapi itu mendukung -icase-insensitivity pada MacOS).
nonbeing
1

Anda harus benar-benar hanya menggunakan pkillseperti yang disarankan jschmier, tetapi jika Anda bersikeras pada pgrep, cukup gunakan substitusi perintah:

kill $(pgrep chrome)
Cascabel
sumber
would'nt kill pgrep chrome`` juga berfungsi;)
kSiR
@kSiR: [terlambat satu bulan] ya, tetapi $(...)merupakan kebiasaan yang bagus untuk masuk sehingga Anda dapat bersarang saat Anda perlu, dan beralih di antara pembatas yang cocok di editor Anda.
Cascabel
1

Perintah termudah adalah ini:

sudo killall chrome

Ini akan, dengan izin administratif, membunuh semua proses yang mengandung chromeatas namanya.

Lihat man killalluntuk informasi lebih lanjut ...

joksancpen
sumber
3
Bisakah Anda menambahkan sedikit penjelasan tentang cara kerja jawaban Anda?
nhinkle
1

/usr/bin/pkill --oldest --signal TERM -f chrome bekerja dengan sempurna.

Sumber: https://unix.stackexchange.com/a/174451/6272

AlikElzin-kilaka
sumber
Ini harus menjadi jawaban yang diterima.
nealmcb
0

Anda juga dapat mencoba sesuatu seperti ini:

ps -C chrome |cut -f 1 -d' ' | xargs kill
Nathan Fellman
sumber
Anda seharusnya tidak menggunakan -9 kecuali sebagai pilihan terakhir. Lakukan kill PIDdulu.
Dijeda sampai pemberitahuan lebih lanjut.
poin yang bagus. Saya memperbarui jawaban saya.
Nathan Fellman
Tidak perlu melalui pipa lain cut; psdapat melakukannya sendiri: ps -o pid= -C chrome | xargs kill.
musiphil
Dan itu adalah kebiasaan yang baik untuk menempatkan -rdi xargs: ps -o pid= -C chrome | xargs -r kill.
musiphil
@musiphil: apa -r?
Nathan Fellman
0

Di bawah Ubuntu, inilah yang bekerja untuk saya:

pkill chromium

pengguna1685993
sumber