Saya biasanya membunuh proses dengan killall
.
killall markdoc
Tetapi saya tidak yakin apakah perintah ini mengakhiri proses dengan anggun. Apakah perintah ini mencapai pengakhiran yang anggun? Jika tidak, bagaimana saya bisa membunuh proses dengan namanya dengan anggun?
Jawaban:
Pertanyaan Anda tidak jelas, Anda berbicara tentang daemon di judul, tetapi di tubuh hanya berbicara tentang proses generik.
Untuk daemon ada cara khusus untuk menghentikannya, misalnya dalam Debian yang Anda miliki
atau
Sintaksis serupa ada untuk standar skrip init lain yang digunakan dalam distribusi / OS lain.
Untuk mematikan proses non-daemon, seandainya dalam beberapa cara di luar kendali, Anda dapat dengan aman menggunakan
killall
ataupkill
, mengingat bahwa mereka menggunakan secara defaultSIGTERM
sinyal (15), dan aplikasi tertulis apa pun harus menangkap dan keluar dengan anggun saat menerima sinyal ini . Memperhatikan bahwa utilitas ini dapat membunuh lebih dari satu proses, jika ada banyak dengan nama yang sama.Jika itu tidak berhasil, Anda dapat mencoba
SIGINT
(2), laluSIGHUP
(1), dan sebagai upaya terakhirSIGKILL
(9). Sinyal terakhir ini tidak dapat ditangkap oleh aplikasi, sehingga tidak dapat melakukan pembersihan. Untuk alasan ini harus dihindari setiap kali Anda bisa.Keduanya
pkill
dankillall
menerima parameter sinyal dalam formulir-NAME
, seperti padasumber
markdoc serve &
dansvnserve -d
. Saya pikir itu semacam dasmon, tetapi tidak ada yang pasti bagi saya :)killall
adalah pembunuhnya!Pada BSD-like dan distro lainnya, Anda akan sering memiliki skrip di /etc/rc.d/ yang biasanya mengelola mulai, mulai ulang, dan hentikan daemon di sistem Anda. Untuk menghentikan daemon, Anda dapat memanggil skrip dengan path absolut misalnya:
atau gunakan perintah:
Saya sangat merekomendasikan untuk mencoba skrip ini untuk menunjukkan sistem Anda mulai dan berhenti daemon:
sumber
Periksa
killproc
fungsi yang tersedia dalam/etc/init.d/functions
skrip, sumber file dan gunakan fungsi. Atau gunakanpgrep
danpkill
utilitas untuk memeriksa apakah mereka berfungsi dengan benar dan kemudian menggunakannya. Contoh:pkill -SIGTERM mysqld
akan mengirim sinyal TERM kill untuk meminta mysqld melakukan shutdown yang aman dan menyiram basis data ke disk, sebelum terbunuh.sumber