我对bash一点也不熟悉,但我正在尝试制作一对脚本来检测
-
如果程序正在运行。
-
如果python/bash脚本正在运行。
我的n1代码是:
#!/bin/bash
X=$( pidof $1 )
if [ ${#X} -gt 0 ]
then
echo "$1 has already $X been started"
else
echo "$1 not started $X"
fi
它工作得很好,但不会检测到脚本,所以我做了n:2的更改:
X=$( pgrep -f $1 )
一开始n2似乎可以工作,但当我终止python脚本时,仍然得到:
WebsocketServer has 5 length and it's already 11919 started
如果我做了
ps -ax
这些进程的PID并不在任何地方都能看到。
但如果我写信
ps -ax | grep websocket
:
11921 pts/4 S+ 0:00 grep --color=auto websocket
如果我启动python脚本。。。
WebsocketServer has 11 length and it's already 11927 11935 started
发生什么事了?我是不是用错了命令?
编辑:忘了提那篇文章
pgrep -f WebsocketServer
在终端中不返回任何内容,就像它应该返回的那样。