2017-08-10 25 views
0

我的腳本由Cron執行,每2分鐘檢查一次,如果xxx正在運行。如果它不在該過程中,那麼腳本將運行它。問題在於它有時會運行幾次。重啓之前保護程序

我的問題是如何檢測程序運行多次? bash如何檢測到pidof函數返回多個而不是一個pid?

#!/bin/bash 
PID=`pidof xxx` 
if [ "$PID" = "" ]; 
then 
cd 
cd /home/pi 
sudo ./xxx 
echo "OK" 
else 
echo "program is running" 
fi 

回答

1

你可以使用這個腳本來做同樣的事情。它將確保腳本執行一次。

#!/bin/bash 
ID=`ps -ef|grep scriptname|grep -v grep|wc -l` 
if [ $ID -eq 0 ]; 
then 
#run the script 
else 
echo "script is running" 
fi 
+0

它的工作!謝謝! – wojtek6000

相關問題