Linux/RHEL6:将输出发送到控制台并返回提示

Linux/RHEL6:将输出发送到控制台并返回提示

我正在Ctrl-Alt-DelRHEL6 服务器上禁用并启用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在该终端中点击的效果相同。

相关内容