Apakah SIGQUIT sama dengan SIGTERM?


13

Saya sedang belajar CentOS / RHEL dan saat ini sedang melakukan beberapa hal tentang manajemen proses.

Buku RHCSA yang saya baca menjelaskan menjalankan kill 1234saat mengirim SIGQUIT. Saya selalu berpikir perintah kill tanpa menambahkan saklar untuk tipe sinyal seharusnya defaultkill -15

SIGTERM adalah kill -15dan SIGKILL kill -9, kan?

Apakah CentOS / RHEL menggunakan metode yang sedikit berbeda kill -15atau apakah saya salah?

EDIT: kill -lmemberikan SIGQUIT sebagai kill -3dan tampaknya terkait dengan menggunakan keyboard untuk mengakhiri suatu proses. man 7 signaljuga menyatakan bahwa SIGQUIT adalah kill -3, jadi saya hanya dapat berasumsi bahwa buku saya salah dalam menyatakan bahwa SIGQUIT adalah kill -15default.

Jawaban:


13

Tidak, mereka tidak sama. Tindakan default untuk keduanya adalah menghentikan proses, tetapi SIGQUITjuga membuang inti. Lihat misalnya halaman manual Linuxsignal(7) . killsecara default mengirimkan SIGTERM, jadi saya hanya bisa membayangkan bahwa menyebutkan SIGQUIT sebagai default memang hanya kesalahan. Itu default adalah di POSIX , dan begitu juga angka-angka untuk SIGTERM, SIGKILL dan SIGQUIT.


1
Ya. Saya pikir buku ini keliru karena ia juga mencantumkan SIGQUIT sebagai -15. Signal -15 adalah cara yang mapan untuk mengakhiri proses di dunia Linux, tidak diragukan lagi itu salah cetak. Saya akan menandai jawaban Anda sebagai benar. Terima kasih telah memperluas apa yang SIGQUIT lakukan.
bitofagoob

1

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.


manual untuk skill mengatakan bahwa skill dan snice sudah usang. Saya bertanya-tanya mengapa mereka belum dihapus dari userspace? Informasi yang menarik. Terima kasih.
bitofagoob
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.