我使用ssh运行自动化脚本。脚本是用AppleScript编写的。我希望能够以这样一种方式停止脚本,即调用它的错误处理程序而不是停止死亡。
使用以下AppleScript作为示例:
on run
try
repeat with i from 1 to 1000
delay 1
end repeat
on error
beep 1
end try
end run
我将脚本保存为我的主文件夹test.applescript
然后我从终端运行它:
osascript ~/test.applescript
无论如何都要从命令行停止脚本以便听到哔声?使用kill -s SIGHUP
停止脚本,但我没有听到哔哔声。我已经尝试了所有信号无济于事。
我最接近的是使用以下内容:
osacriptmonitor ~/test.applescript
然后使用齿轮菜单取消。通过这样做,我听到了哔哔声。 (有关osascriptmonitor的更多信息,请参阅Running AppleScripts through the ScriptMonitor.app Utility。)
同样重要的是要注意,当我使用osacriptmonitor
代替osascript
时,我会从ps -ax | grep osascript
获得以下内容:
/usr/bin/osascript -T 4984 -P /Users/david/test.applescript
有谁知道-T
和-P
用于什么?我一直无法找到这些选项的任何参考。
答案 0 :(得分:1)
Applescript从开始到结束。如果你杀了它,整个脚本都会被删除。
如果你想拥有一个更可控的结局,你需要在循环中包含另一个例程。例如。每十个循环检查脚本之外的东西。然后,您只需要更改该外部值即可在脚本中触发其他内容。