SIGQUIT, SIGTERM ile aynı mıdır?


14

CentOS / RHEL öğreniyorum ve şu anda süreç yönetimi hakkında bazı şeyler yapıyorum.

Okuduğum RHCSA kitabı kill 1234SIGQUIT göndermek olarak çalışıyor . Her zaman sinyal türü için bir anahtar eklemeden kill komutunun varsayılan olarakkill -15

SIGTERM kill -15ve SIGKILL öyle kill -9mi?

CentOS / RHEL biraz farklı bir yöntem kullanıyor mu kill -15veya ben sadece yanılmış mıyım?

EDIT: kill -lSIGQUIT olarak verir kill -3ve bir işlemi sonlandırmak için klavyeyi kullanma ile ilişkili gibi görünüyor. man 7 signalayrıca SIGQUIT olduğunu belirtir kill -3, bu yüzden sadece kitabımın SIGQUIT'in kill -15varsayılan olduğunu belirtmekte yanlış olduğunu varsayabilirim .

Yanıtlar:


13

Hayır, aynı değiller. Her ikisi için varsayılan eylem, işlemi sonlandırmak, ancak SIGQUITçekirdeği döker. Bkz. Örneğin Linux kılavuz sayfasısignal(7) . killvarsayılan olarak SIGTERM gönderir, bu yüzden sadece SIGQUIT'in varsayılan olmasının gerçekten bir hata olduğunu hayal edebiliyorum. Bu varsayılan POSIX'tedir ve SIGTERM, SIGKILL ve SIGQUIT numaraları da aynıdır.


1
Evet. Sanırım kitap yanlış çünkü SIGQUIT'i -15 olarak listeliyor. Signal -15, Linux dünyasında bir süreci sonlandırmanın böyle yerleşik bir yoludur. Cevabınızı doğru olarak işaretleyeceğim. SIGQUIT'in yaptıklarını genişlettiğiniz için teşekkür ederiz.
bitofagoob

1

Biri procps ve diğeri kabukta olmak üzere iki kill komutu vardır. Her ikisi de varsayılan olarak SIGTERM kullanır. Procps kill için komut yardımı, manuel sayfa ve kill kaynağı (en son ana dalda skill.c line 724) hepsi tutarlı olduğunu bilmek güzel SIGTERM der.

Sinyaller hakkında hatırlanması gereken bir şey, "olağan demet" i geçmeye başladığınızda ve sistemleri bir x86 Linux sisteminden biraz daha farklı kullandığınızda, sinyallerin orada olmadığını veya farklı sayılara sahip olduğunu görebilirsiniz. procps (ve muhtemelen bir çok başka program) derleme zamanında sayıları pişirir (aslında içerme dosyası ne olursa olsun signum.h dosyasını arayın).

@İlkkachu'nun dediği gibi SIGTERM için endişelenecek bir şey değil, POSIX'te.


Beceri için manpage beceri ve keskinliğin eski olduğunu söylüyor. Neden kullanıcı alanından kaldırılmadığını merak ediyorum? Her neyse ilginç bilgiler. Teşekkürler.
bitofagoob
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.