我正在尝试编写一个“杀死所有其他守护进程”函数以在 bash 守护进程中使用。我不希望同时运行一个以上的守护进程。有什么建议么?这就是我所拥有的:
#!/bin/bash
doService(){
while
do
something
sleep 15
done
}
killOthers(){
otherprocess=`ps ux | awk '/BashScriptName/ && !/awk/ {print $2}'| grep -Ev $$`
WriteLogLine "Checking for running daemons."
if [ "$otherprocess" != "" ]; then
WriteLogLine "There are other daemons running, killing all others."
VAR=`echo "$otherprocess" |grep -Ev $$| sed 's/^/kill /'`
`$VAR`
else
WriteLogLine "There are no daemons running."
fi
}
killOthers
doService
它在某些时候有效,但在其他时候无效。几乎没有什么一致的。