종료와 같은 모든 활성 쉘에 알림을 보내는 방법은 무엇입니까?

종료와 같은 모든 활성 쉘에 알림을 보내는 방법은 무엇입니까?

있잖아, 난 밖에서 내 일을 하고 있었는데 갑자기 끔찍한 일이 일어났어방송 메시지나타났다!

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메시지를 보내고 뛰어보세요!

업데이트 : Stephen이 지적했듯이이 답변, 이후 버전에서는 wall간단히 입력하여 메시지를 보낼 수 있습니다.

wall message text here

실제로 루트가 아닌 사용자가 파일 이름만 지정하여 파일 내용을 보내는 데에는 추가 제한 사항이 있습니다.

답변2

그냥 사용하면됩니다wall; 이를 실행하면 root모든 터미널에 메시지가 표시됩니다.

wall Your attention please\!

이전 버전에서는 wall명령줄의 파일 이름이나 파이프를 통한 메시지만 허용했습니다.

echo Your attention please\! | wall

관련 정보