我正在Ctrl-Alt-Del
RHEL6 服务器上禁用并启用Alt-SysRq
。
在/etc/init/control-alt-delete.conf
文件中我注释掉了该exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
行并将其替换为exec /bin/echo "Control-Alt-Delete has been disabled by the administrator." >/dev/console
。
不幸的是,这会让消息挂在命令提示符上,而不是显示消息然后转到新提示符。我尝试/bin/echo -e
在字符串末尾添加换行符,但在显示消息后仍然不会出现新提示符。
我曾尝试>&1
简单地将消息发送到 STDOUT,但根本没有显示任何内容。
一个简单的解决方案是添加文本,表明用户需要按 Enter 键返回提示,但我希望这能自行发生。
我如何回显消息然后返回提示?
答案1
你不需要。显示新提示的决定权在 shell 手中。而且 shell 对你回显的内容一无所知/dev/console
。
您可以做的是尝试找到当前处于活动状态的 TTY(也许使用 fgconsole?)并将 SIGINT 发送到该 TTY 中的 bash。这与^C
在该终端中点击的效果相同。