Apakah ada cara (mungkin skrip) cara mengotomatiskan proses ini:
petr@sova:~$ ps -ef | grep middleman
petr 18445 2312 1 12:06 pts/2 00:00:01 /home/petr/.rvm/gems/ruby-1.9.3-p362/bin/middleman
petr 18581 13621 0 12:08 pts/0 00:00:00 grep --color=auto middleman
petr@sova:~$ kill -9 18445
Sayangnya, pkill
ini terlalu lemah karena saya harus menggunakan -9
opsi aktif kill
.
-9
denganpkill
terlalu ...-KILL
daripada-9
. Nomor apa yang sesuai dengan sinyal apa yang bergantung pada implementasi.SIGKILL
kebetulan berada9
di Linux i386 dan Linux amd64, tetapi tidak harus di mana-mana. ( Info lebih lanjut di sini. )-KILL
terlalu (karena membuat kode lebih mudah dibaca), perlu dicatat bahwaSIGKILL = 9
ini ditentukan oleh POSIX , sehingga-9
cukup portabel saat ini (dan tidak tergantung pada kernel atau arsitektur).Jawaban:
Anda dapat menggunakan shell Anda untuk melakukan tugas ini untuk Anda:
Shell mengeksekusi perintah
pidof middleman
terlebih dahulu. Output dari pidof (8) adalah id proses. Jadi shell menggantipidof
perintah-dengan id proses dan mengeksekusikill -9 18845
(atau apa pun id proses yang benar).sumber
kill -9 $(pgrep middleman)
?Ada solusi yang bahkan lebih sederhana daripada qbi:
killall
mari kita bunuh proses dengan nama, dan Anda dapat menentukan sinyal.Lihat
man killall
untuk informasi lebih lanjut dan opsi tambahan (ada beberapa).Seperti namanya, ini mengirim sinyal ke semua proses yang dinamai
middleman
. Tapi itu tidak berbeda dari cara lain (sepertipkill
). Selanjutnya,pkill -9 middleman
akan menargetkan proses yang namanya cocok tetapi tidak samamiddleman
, sepertimiddleman2
, juga.sumber
killall
Untuk kemenangan!Jawaban lainnya sepenuhnya benar, tetapi saya mungkin juga menambahkan opsi ketiga sehingga semua didokumentasikan di sini. Anda juga bisa menggunakan:
Lihat
man pkill
untuk informasi lebih lanjut dan opsi tambahan.Tidak masalah metode mana yang Anda gunakan. Mereka semua akan bekerja. Tetapi mengetahui opsi jika berguna jika Anda ingin mengubah perilaku dalam beberapa cara, karena halaman manual yang sesuai menunjukkan opsi pencocokan apa yang tersedia.
sumber
middleman*
middleman
. Di sinilah perbedaan dalam bagaimana tepatnyapkill
,killall
,pidof
dangrep
proses pertandingan benar-benar mulai peduli!The
-f
pilihan membuatnya cocok baris perintah yang lengkap, bukan hanya nama proses.Perhatikan bahwa itu
-9
harus menjadi sinyal terakhir, bukan sesuatu untuk digunakan secara rutin.sumber
complete command line
Hanya untuk bersenang-senang, saya ingin menambahkan cara lama yang lebih manual
sumber
... grep [m]iddleman ...
untuk menghindari pembunuhangrep
proses secara tidak sengaja. Dengan begitu grep tidak dapat menandingi dirinya sendiri karena kutipan lucu.yang interaktif (aman) dan cocok dengan nama perintah parsial.
sumber