如何向所有活动 shell 发送通知,就像 shutdown 那样?

如何向所有活动 shell 发送通知,就像 shutdown 那样?

你知道,我当时就在那儿做我的事情,突然间发生了可怕的事情广播消息出现了!

fiatjaf@mises ~> sl
fiatjaf@mises ~> ls dotfiles/
urxvt
vim/
vimrc
fiatjaf@mises ~> cowsay good morning
 ______________
< good morning >
 --------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
fiatjaf@mises ~> 
fiatjaf@mises ~> 
Broadcast message from root@mises
    (/dev/pts/3) at 11:12 ...

The system is going down for maintenance NOW!

如何从我自己的程序中触发这样的消息?

答案1

man wall会给你你所需要的。

您可以wall使用文件名执行,或者将内容通过管道传递给它。

例如,或者,

wall file.name广播文件的内容file.name

echo "Dive\!" | wall发送消息 潜水吧!

更新:正如斯蒂芬指出的那样这个答案,更高版本wall可以通过简单地键入来发送消息,

wall message text here

事实上,非 root 用户通过仅指定文件名来发送文件内容还有其他限制。

答案2

你只需使用wall;运行它将root确保每个终端都显示该消息。

wall Your attention please\!

旧版本wall仅接受命令行上的文件名或通过管道输入的消息:

echo Your attention please\! | wall

相关内容