Kapan pun saya harus membunuh proses latar belakang yang saya lakukan ps -e | grep <process_name>
Yang mencetak sesuatu seperti ini 1766 ? 00:00:13 conky
, Lalu saya menggunakan ID proses untuk kill
itu seperti itu kill 1766
.
Apakah ada cara saya bisa menyederhanakan ini? Buat lebih cepat? mengurangi jumlah pengetikan?
Jawaban:
(TL, DR:
pgrep
,pkill
)Banyak varian unix yang datang bersama
pgrep
dan pengiringnyapkill
: Solaris , Linux (bagian dari utilitas proses standar , mungkin tidak ada dalam sistem Linux yang disematkan), FreeBSD , OpenBSD , NetBSD , ... tetapi hanya dari MacPort pada OS X , bukan AIX , dan hanya baru-baru ini di HP-UX . Thepgrep
utilitas menunjukkan ID proses proses cocok dengan nama, user dan beberapa kriteria lainnya. Argumen untukpgrep
diartikan sebagai regexp yang harus cocok dengan bagian dari nama yang dapat dieksekusi proses (kecuali Anda memberikan opsi untuk mengubah ini). Jika Anda menelepon,pkill
bukanpgrep
, utilitas mengirim sinyal alih-alih menampilkan ID proses.Utilitas serupa lainnya adalah pidof . Di Linux , ini disediakan oleh SysVinit atau BusyBox (jadi Anda akan sering menemukannya di sistem Linux tertanam yang tidak memiliki
pgrep
); ada juga port pada varian unix lainnya. Thepidof
utilitas memiliki opsi lebih sedikit, itu kebanyakan hanya cocok seluruh nama file executable. Utilitas pengiringnyakillall
mengirimkan sinyal ke program yang cocok match.¹ Waspadalah yang
killall
memiliki arti berbeda pada Solaris dan kemungkinan varian unix lainnya; jangan mengetikkankillall
root pada Solaris.sumber
killall ProcessName
(ada kerugian dengan perintah ini karena Anda tidak selalu tahu nama proses suatu program).pidof ProccessName
dankill the result form pidof
ps xu | grep <process name> | grep -v grep | awk '{ print $2 }' | xargs kill -9
Coba satu baris ini dan gunakan kembali itu membentuk sejarah bash Anda, atau lebih baik buat alias untuk itu.sumber
pidof
tampaknya sedikit lebih mudah, tetapi masih butuh 2 langkahSementara Hanan memiliki beberapa saran bagus, saya akan menambahkan
pgrep
/pkill
. Mereka memungkinkan kontrol yang lebih baik atas proses yang Anda temukan, dan ekspresi reguler jika Anda tidak tahu proses yang tepat yang harus Anda bunuh.PS Hanan
pidof
dapat diumpankankill
langsung dengan backticks:sumber
pkill
persis apa yang saya cari, saya sebagian besar waktu tahu nama proses, Sebagian besarconky
ataufirefox
atauchrome
atau sesuatu seperti itu. Terima kasihBagaimana dengan ini -
Contoh:
Memperbarui:
Maaf, ini jelas tidak memenuhi persyaratan pengetikan yang kurang sehingga cara yang baik untuk melakukannya adalah dengan menambahkan
function
ke Anda.bashrc
,.profile
atau apa pun skrip startup. Fungsinya bisa seperti ini -Setelah ditambahkan, Anda dapat dengan mudah menyampaikan nama proses Anda:
sumber