嗨我試圖檢查進程正在運行,如果是,請重新啓動它。但如果不是,請啓動它。該腳本在使用Plink從一臺Windows機器遠程執行了一批命令後運行。然後我運行另一個plink命令來運行此腳本。主機上的應用程序正在持續運行。重新啓動進程,如果它在Bash中運行
SERVICE="./Snowflake.app/Contents/MacOS/Snowflake"
if pgrep "$SERVICE" >/dev/null 2>&1 ;
then
echo "$SERVICE is running"
pkill "$SERVICE"
else
/Applications/snowflake/run.sh
fi
這裏的問題是,如果應用程序打開,它不會關閉它,而是第二次打開該應用程序。任何人都可以告訴我哪裏出錯了?
對不起,沒有工作,仍然是相同的問題 – Eggfoot
哦,對不起,我不得不第二次pkill,是的,你是對的,這是愚蠢的。 – Eggfoot
其實它是*不傻*。它對於競爭條件是安全的。:) – hek2mgl