Saya sedang belajar CentOS / RHEL dan saat ini sedang melakukan beberapa hal tentang manajemen proses.
Buku RHCSA yang saya baca menjelaskan menjalankan kill 1234
saat mengirim SIGQUIT. Saya selalu berpikir perintah kill tanpa menambahkan saklar untuk tipe sinyal seharusnya defaultkill -15
SIGTERM adalah kill -15
dan SIGKILL kill -9
, kan?
Apakah CentOS / RHEL menggunakan metode yang sedikit berbeda kill -15
atau apakah saya salah?
EDIT: kill -l
memberikan SIGQUIT sebagai kill -3
dan tampaknya terkait dengan menggunakan keyboard untuk mengakhiri suatu proses. man 7 signal
juga menyatakan bahwa SIGQUIT adalah kill -3
, jadi saya hanya dapat berasumsi bahwa buku saya salah dalam menyatakan bahwa SIGQUIT adalah kill -15
default.
sumber
Ada dua perintah kill, satu di procps dan satu di shell. Keduanya menggunakan SIGTERM sebagai default. Untuk procps kill, perintah help, halaman manual dan kill source (skill.c line 724 di cabang master terbaru) semua mengatakan SIGTERM, yang bagus untuk mengetahui bahwa ini konsisten.
Satu hal yang perlu diingat tentang sinyal adalah setelah Anda mulai melewati "kumpulan biasa" dan menggunakan sistem sedikit lebih berbeda dengan sistem Linux x86, Anda mungkin menemukan sinyal tidak ada atau mereka memiliki nomor yang berbeda. procps (dan mungkin banyak program lain) mem-bakes angka-angka pada saat kompilasi (pada dasarnya apa pun yang dimiliki oleh file include, cari signum.h).
Bukan sesuatu yang perlu dikhawatirkan untuk SIGTERM, seperti yang dikatakan @ilkkachu, ini dalam POSIX.
sumber