在项目连调的过程中,因为需要修改共用的MakeDebug,但是打开文件的时候发现该文件被打开,如果强制修改该文件的话,别人保存之后,就会覆盖我的内容。因此需要告知其他人,先关闭该该文件。
但是,这个时候,网络出现了故障,因此通过QQ群里发送信息的手段不行了。想到Linux用户之间可以发送信息,于是想到了一个好办法。
其实,如果用root权限的话,可以使用一个简单的方法【shutdown -k now '要发送的信息'】,但是我这个用户,权限不够,因此必须想其他方法。
上网搜到可以通过【echo "hello">/dev/pts/102】发送到指定终端。
扩展阅读: http://bbs.chinaunix.net/thread-409061-1-1.html
我搜了一下,该目录的作用:
/dev/pts是远程登陆(telnet,ssh等)后创建的控制台设备文件所在的目录
扩展阅读: http://blog.youkuaiyun.com/suiyuan19840208/article/details/7234722
因此,有多少终端,就有多少个文件,如下:
通过【who am i】命令可以查看当前终端对应的终端号,如下:
向当前客户端发送信息
但是,通过这中方式只可以给一个用户发送信息,因此,可以通过shell脚本的方式,发送信息。如下:
但是,这个时候,网络出现了故障,因此通过QQ群里发送信息的手段不行了。想到Linux用户之间可以发送信息,于是想到了一个好办法。
其实,如果用root权限的话,可以使用一个简单的方法【shutdown -k now '要发送的信息'】,但是我这个用户,权限不够,因此必须想其他方法。
上网搜到可以通过【echo "hello">/dev/pts/102】发送到指定终端。
扩展阅读: http://bbs.chinaunix.net/thread-409061-1-1.html
我搜了一下,该目录的作用:
/dev/pts是远程登陆(telnet,ssh等)后创建的控制台设备文件所在的目录
扩展阅读: http://blog.youkuaiyun.com/suiyuan19840208/article/details/7234722
因此,有多少终端,就有多少个文件,如下:
[billing_dx@bmcs1 pts]$ pwd
/dev/pts
[billing_dx@bmcs1 pts]$ ls
0 11 14 17 2 22 25 28 30 33 36 39 41 44 47 5 52 55 58 61 64 67 7 72 75 ptmx
1 12 15 18 20 23 26 29 31 34 37 4 42 45 48 50 53 56 59 62 65 68 70 73 8
10 13 16 19 21 24 27 3 32 35 38 40 43 46 49 51 54 57 60 63 66 69 71 74 9
通过【who am i】命令可以查看当前终端对应的终端号,如下:
[billing_dx@bmcs1 pts]$ who am i
billing_dx pts/52 Feb 26 09:52 (172.28.0.194)
向当前客户端发送信息
[billing_dx@bmcs1 pts]$ echo "hello" >/dev/pts/52
hello
但是,通过这中方式只可以给一个用户发送信息,因此,可以通过shell脚本的方式,发送信息。如下:
#!/bin/bash
# @file SendMsg.sh
# @author ymm
# @brief 给当前连接主机的终端群发信息
# @date 2014/2/26 11:33:47
# @History
# 1 2014/2/26 11:33:47 author ymm 初步完成
if [ $# -ne 1 ];then
echo "请输入要发送的内容:";
echo "eg:$0 hello"
exit -1;
fi
Dir=/dev/pts/
for pts in $(ls $Dir)
do
echo $1 >${Dir}/${pts}
done
通过上面的方式,就可以和连接主机的所有终端发送信息了。