Bagaimana cara membunuh semua proses dari satu pengguna?
Ketika saya membuat ps aux
saya mendapatkan daftar proses dengan beberapa pengguna, dan saya ingin membunuh semua proses pengguna name1
misalnya! Apa perintah untuk melakukannya di Ubuntu?
ubuntu
command-line
process
pengguna15992
sumber
sumber
sudo service the-service-name stop
. Proses pembunuhan dapat meninggalkan file yang rusak, database, dll.Jawaban:
Dalam hal ini, sangat sederhana, Anda dapat menggunakan
killall
untuk membunuh, atau mengirim sinyal lain, ke banyak proses sekaligus. Salah satu opsi "pemfilteran" adalah pemilik:killall --user name1
sumber
--user
argumennya, terima kasih!killall
dalam mis Solaris Unix membunuh semua proses yang berjalan bisa! Lihat: en.wikipedia.org/wiki/KillallMenambahkan opsi lain karena tidak ada yang menyebutkannya, dan saya tidak suka
killall
(menggunakannya pada solaris dapat menyebabkan bencana).pkill
lebih portabelsumber
killall
di Ubuntu, tetapipkill
sudah diinstal.Identifikasi pengguna, lalu
killall -user <username>
Mereka akan memiliki proses bash (atau serupa) yang terkait dengan pembunuhan sesi login mereka yang akan membunuh sesi mereka.
Untuk mendapatkan gambaran umum yang berpotensi lebih baik tentang apa yang dilakukan pengguna - coba
pstree <username>
sumber
--user
Pasang
slay
:aptitude menginstal membunuh
Lalu masalah
slay some-user
.Ketahuilah bahwa jika Anda mematikan hal-hal untuk pengguna yang Anda tidak tahu tujuannya, Anda dapat membuat mesin Anda tidak dapat digunakan (sampai Anda me-restart).
Jika Anda benar-benar tidak ingin menginstal slay:
(tunggu sebentar)
sumber
awk
dapat menangkap sesuatu itu sendiri. Tidak perlu dilakukangrep smth | awk
, karena Anda bisa menggunakannya sajaawk '/smth/{...}'
.killuser () { ps faux| awk -v user=$1 '$1==user{ system("kill -9 " $2) }' ;};