繁体   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