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

我正在禁用RHEL6服务器上的Ctrl-Alt-Del并启用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/consolereplace了它exec /bin/echo "Control-Alt-Delete has been disabled by the administrator." >/dev/console exec /bin/echo "Control-Alt-Delete has been disabled by the administrator." >/dev/console

不幸的是,这会使消息挂在命令提示符上,而不是显示消息,然后删除新的提示符。 我已经尝试了/bin/echo -e并在string的末尾添加了一个换行符,但在显示消息后仍然不会显示新提示。

我已经尝试使用>&1来简单地发送消息到STDOUT,但是根本不显示任何东西。

一个简单的解决scheme是添加文本,指示用户需要按Enter键返回到提示符,但我更喜欢这种情况发生。

我如何回复消息,然后返回提示?

你没有。 显示新提示的决定取决于shell。 而且shell不知道你回应到/dev/console

你可以做的是试图找出哪个TTY是当前活动的(也许用fgconsole?)并发送SIGINT到该TTY中的bash。 这在那个terminal里碰到^C效果是一样的。