用kill发个0信号是个好办法。
[admin@local ~]$ killall -0 bash
[admin@local~]$ echo $?
0
[admin@local~]$ killall -0 bash1
killall: bash1: no process killed
[admin@local~]$ echo $?
1
P O S I X . 1将信号编号0定义为空信号。如果s i g n o参数是0,则k i l l仍执行正常的错误检查,但
不发送信号。这常被用来确定一个特定进程是否仍旧存在。如果向一个并不存在的进程发送空
信号,则k i l l返回-1,e r r n o则被设置为E S R C H。
参考:http://biancheng.dnbcw.info/c/305494.html