1
我試圖從AppleScript啓動控制檯程序並在崩潰時重新啓動。我寫了這個代碼從AppleScript啓動控制檯程序並監視其狀態
repeat
do shell script "/path/to/program"
end repeat
但它掛起和mac無法重新啓動。 我怎樣才能把「做外殼腳本」在另一個線程?
我試圖從AppleScript啓動控制檯程序並在崩潰時重新啓動。我寫了這個代碼從AppleScript啓動控制檯程序並監視其狀態
repeat
do shell script "/path/to/program"
end repeat
但它掛起和mac無法重新啓動。 我怎樣才能把「做外殼腳本」在另一個線程?
您只需在命令末尾加上一個「&」字符即可。這將它發送到後臺。但是我不會使用你的代碼。重複循環將永遠運行,並且只要運行就產生新的進程。你最好的選擇是運行一個保持開放的applescript,定期檢查過程是否正在運行。如果不是,那麼蘋果電腦可以啓動它。重複循環不是你想要的。試試這個代碼。將其保存爲應用程序,並在保存窗口中選中保留打開的對話框。
on run
end run
on idle
set runShellScript to false
tell application "System Events"
if not (exists process "processName") then
set runShellScript to true
end if
end tell
if runShellScript then do shell script "/path/to/program &"
return 30 -- the script will stop for 30 seconds then run again until you quit the applescript
end idle