为了让我的进程保持活力,我过go 在脚本中使用了以下几行代码:
while [ -f $FILENAME ]
do
echo "Running $BINNAME"
./$BINNAME >> $LOGNAME
sleep 1
done
这对我来说很好.但是,当我试图实现相同的行为但调用两个进程时,我的问题就出现了.换句话说,在需要我的脚本来启动它们和,不断地判断它们是否落下.如果是这样的话,重新启动这一失败的进程.
不可能用pgrep
或systemd
.
你能给我推荐什么吗?
我try 了以下几种方法:
while [[ -f $FILENAME && -f $FILENAMEPROC ]]
do
echo "Running $BINNAME + $BINNAMEPROC"
./$BINNAME >> $LOGNAME
./$BINNAMEPROC >> $LOGNAMEPROC
sleep 1
done
但显然,脚本等待BINNAME完成,然后启动BINNAMEPROC.这是无效的,因为我需要两个进程同时运行.
同时使用&
和ps | grep [name]
在后台启动也是无效的,因为如果有人添加包含字符串name
的新进程,可能会导致误报.