簡體   English   中英

Linux中延遲的內核恐慌

[英]Delayed kernel panic in Linux

對於我們的測試,我們需要通過SSH在遠程服務器(VM)上觸發內核崩潰:

ssh server "echo c > /proc/sysrq-trigger"

問題在於,在大多數情況下,SSH會話會卡住,因為內核恐慌會在斷開連接之前發生。 有一個通用的連接超時,但這還不夠好。

有沒有辦法延遲恐慌?

我們嘗試將以下內容放入服務器上的文件中:

# - panic.sh -

#/bin/bash
sleep 5
echo c > /proc/sysrq-trigger

然后執行它:

ssh server "nohup panic.sh &"

但這沒有幫助。 SSH會話一直等到睡眠結束。

發生這種情況是因為您的腳本使所有管道保持打開狀態,所以ssh必須等待看是否還要編寫更多內容。

如果您全部關閉它們, ssh知道它將不再收到任何輸出,並且將退出:

$ time ssh localhost 'sleep 5 < /dev/null > log 2>&1 &'
real    0m0.171s
user    0m0.013s
sys     0m0.003s

您還可以在睡眠之前使用exec命令從腳本內執行此操作:

exec < /dev/null > log 2>&1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM