有沒有任何情況下,在linux上運行的應用程序沒有阻止信號SIGKILL,在發射SIGKILL信號時不會被殺死?SIGKILL無法運行的情況
2
A
回答
3
是的,當進程在內核空間被阻塞時,例如讀取被阻止的NFS文件系統或者在沒有響應的設備上。
4
SIGKILL
不能被屏蔽或忽略(SIGSTOP
也不能)。
如果信號在系統調用「內部」被阻塞,則進程可能無法響應信號(等待I/O就是一個例子 - 等待在沒有intr
的情況下硬安裝的失敗NFS文件系統上的I/O選項)。
(另一側的情況是殭屍進程,但他們沒有真正在這一點上處理。)
0
請與ps a
(或者可以使用其他標誌以及)過程中的狀態。 如果進程狀態是
D : uninterruptible sleep (usually IO)
那麼你不能殺死那個進程。
正如其他人提到的那樣,按照定義,這通常是由I/O卡住造成的,例如進程正在等待對斷開連接的NFS文件系統執行I/O操作。
相關問題
- 1. 無VM的情況下運行Android
- 2. Meteor.js不斷運行SIGKILL?
- 3. 如何在Flash無法運行的情況下加載圖像
- 4. 無法識別的情況
- 5. 在什麼情況下Python unittests無法運行?
- 6. 使用dnx的c#類庫無法在沒有dnx451的情況下運行
- 7. 無法初始化運行時,由於內存不足的情況
- 8. 無法在沒有控制的情況下運行交互式控制檯TTY
- 9. 爲什麼nam.exe在沒有startX的情況下無法在cygwin中運行?
- 10. ReactJS - 無法在不提供HTTP文件的情況下運行babel代碼
- 11. find -exec參數在沒有前導空格的情況下無法運行
- 12. 有沒有辦法在不運行gnuplot的情況下運行grid.py?
- 13. 無法遷移Redis的情況下
- 14. Rsync cronjob只會在rsync尚未運行的情況下運行
- 15. 泊塢窗Ubuntu運行情況
- 16. Ajax在這兩種情況下運行
- 17. 邊界情況在運行時
- 18. Rails after_filter在什麼情況下運行?
- 19. 在哪種情況下運行__init__.py?
- 20. 無法運行示例R/dashDB腳本「服務器內存使用情況」
- 21. 的執行情況(^)
- 22. AspxGridView:無法在沒有SortCount的情況下進行排序
- 23. Angularjs在沒有超時的情況下無法正常工作的情況
- 24. 無法計算出使用情況
- 25. 使用情況下無法跟蹤
- 26. 運營商的情況下運營商
- 27. 如何在默認情況下運行cuda中的pytorch運算
- 28. 無效的情況下
- 29. 無法運行
- 30. 無法運行
這是否意味着當用戶應用程序進行系統調用時,它將阻止所有信號,直到該系統調用返回? – Mandar 2011-12-22 07:17:42
它不是「封鎖」,它處於「不間斷睡眠(D)」狀態。請參閱http://stackoverflow.com/questions/767551/how-to-stop-uninterruptible-process-on-linux – 2011-12-22 07:18:57
@Mandar,no。你不能「阻止所有的信號」。 D狀態是內核內部的東西(例如從CD-ROM讀取,同步到磁盤等)。 – 2011-12-22 07:20:11