Sistem monitöründe, Öldürme İşlemi ile Son İşlemi arasındaki fark nedir?


14

Bir süreci Sistem Monitörü ile öldürmek istediğimde, 2 Hızlı yol, İşlemi Sonlandır ve Sonlandır olarak sunulur. Bu ikisi arasındaki fark nedir?

Yanıtlar:


9

Sistem Monitörü kılavuzuna göre, normalde "İşlemi Sonlandır" seçeneğini kullanmanız gerekir ve bu yalnızca "İşlemi Sonlandır" seçeneğini kullanmazsa:

Bir işlemi, yalnızca İşlemi Sonlandırmak için bölümünde açıklandığı gibi normal şekilde sonlandıramazsanız sonlandırırsınız.

Teknik düzeyde, bu, Son İşlemin, işlemin gerektiğinde bindirmesine ve temizleme yapmasına izin veren bir SIGQUIT gönderdiğini düşündürüyor, ancak bu başarısız olursa, Kill İşlemi, kurtarma şansı olmadan süreci şiddetle sona erdirmesi gereken bir SIGKILL göndermelidir. Dikkatli kullanın!


6
SIGTERM, bir programı kapatmanın "kibar" yoludur ve "Son İşlem" gönderir. gnu.org/software/libc/manual/html_node/Termination-Signals.html
Rick

9

Ben de merak ettim, bu yüzden sadece kaynak koduna göz attım ve application.cpp'de aşağıdakileri buldum . Bu kod daha var ama en azından Sistem Monitörü 3.8.2.1 ila 3.19.3 için seçenekleri ile ilişkili olduğunu düşünüyorum:

  • İşlemi Durdur = SIGSTOP ( sinyali duraklat , daha sonra SIGCONT ile devam edelim, işlemi öldürmez)
  • Son İşlem = SIGTERM ( sonlandırma sinyali , doğru yol, uygulama bu sinyali kesebilir ve geçici dosya temizleme gibi kapatma görevlerini başlatabilir)
  • Kill Process = SIGKILL ( öldürme sinyali , aşırı, yalnızca SIGTERM çalışmazsa kullanın, kapatma görevlerini başlatmaz)

Tüm öldürme / bırakma / kapatma sinyalleri ve farklılıkları hakkında iyi bir açıklama için Quora hakkında SIGINT, SIGTERM, SIGKILL ve SIGSTOP sinyalleri hakkındaki bu soruya bakın .

Kaynak kodu vurgulama

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.