Linux
是什麼突然殺死了 tty 主程序?
我正在對一個可以執行 shell 命令的軟體進行壓力測試。在壓力測試期間,系統會定期將我註銷。我對觸發此事件的命令的記錄總是產生可以自行執行且不會註銷的命令。
如何判斷是什麼觸發了意外註銷?
根據評論進行編輯:
使用:Ubuntu 12.04,x64。Shell 命令或多或少是大型命令集的任意組合,但不包括直接停止程序的 kill 或其他方法。導致崩潰的範例命令序列:
cd /tmp pwd dmesg date -u *some internal program calls happen here* *logout happens here*
我的猜測是它是我的程序內部的東西,所以我提到 shell 命令只是為了完整性。使用管道傳輸到日誌文件的 valgrind 執行會顯示乾淨的退出,類似於我在註銷期間正常停止程序會發生的情況。完全沒有記憶體洩漏或無效訪問問題。很難弄清楚發生了什麼!
Edit2:通過系統日誌拖網後的更多詳細資訊。我只有這個:
Oct 1 14:39:26 my_hostname pulseaudio[7519]: [pulseaudio] pid.c: Daemon already running. Oct 1 14:39:37 my_hostname kernel: [499969.564820] init: tty4 main process (1031) killed by TERM signal Oct 1 14:39:37 my_hostname kernel: [499969.565018] init: tty5 main process (1037) killed by TERM signal Oct 1 14:39:37 my_hostname kernel: [499969.565201] init: tty2 main process (1052) killed by TERM signal Oct 1 14:39:37 my_hostname kernel: [499969.565391] init: tty3 main process (1053) killed by TERM signal Oct 1 14:39:37 my_hostname kernel: [499969.565595] init: tty6 main process (1055) killed by TERM signal Oct 1 14:39:37 my_hostname kernel: [499969.565798] init: cron main process (1065) killed by TERM signal Oct 1 14:39:37 my_hostname kernel: [499969.566014] init: irqbalance main process (1120) killed by TERM signal Oct 1 14:39:37 my_hostname kernel: [499969.566233] init: tty1 main process (1391) killed by TERM signal Oct 1 14:39:38 my_hostname kernel: [499969.875817] init: plymouth-upstart-bridge main process (7542) terminated with status 1
然後在 14:38:37 看起來像是一個巨大的核心消息轉儲,看起來像是系統在登錄之前自行重置。
這取決於您正在執行哪種類型的壓力測試。當核心沒有足夠的資源繼續執行時,隨機程序會被殺死。這只發生在非常高的負載上,例如當您沒有頁面文件並且所有記憶體都用於某些程序時。