Macos 等待后台进程
我正在创建一个applescript,它应该等待两个进程完成,然后执行一些逻辑。第一个是应用程序,它很容易等待Macos 等待后台进程,macos,applescript,Macos,Applescript,我正在创建一个applescript,它应该等待两个进程完成,然后执行一些逻辑。第一个是应用程序,它很容易等待 set program to "Applications/xyz.app" repeat until (application program is not running) delay 1 end repeat 现在是我的后台任务,它不工作,因为它是一个直接调用的可执行文件,而不是应用程序。如果有帮助的话,这个过程就是。有谁能告诉我这是如何工作的,或者告诉我正确的方向以找
set program to "Applications/xyz.app"
repeat until (application program is not running)
delay 1
end repeat
现在是我的后台任务,它不工作,因为它是一个直接调用的可执行文件,而不是应用程序。如果有帮助的话,这个过程就是。有谁能告诉我这是如何工作的,或者告诉我正确的方向以找到答案吗?尝试使用
pgrep
查找名为aria2
的进程id,如下所示:
do shell script "/usr/bin/pgrep aria2"
我没有aria2
,所以我只是猜测它的进程名-首先在终端中尝试它,看看它是否有效:
pgrep aria2
如果没有运行,将没有输出
要查看更完整的输出,请运行:
ps -aef | grep -i aria
如果要在循环中检查,可以执行以下操作:
set ariarunning to 0
repeat until ariarunning > 0
try
set ariarunning to do shell script "/usr/bin/pgrep aria"
end try
delay 1
end repeat
谢谢你的工作!如果您不介意后续问题:如何比较返回代码<代码>重复直到((do shell script)/usr/bin/pgrep aria2c“)=”)延迟直到程序关闭,然后返回一个脚本错误“命令以非零状态退出”