AppleScript强制退出Java(JAR)程序?

时间:2014-04-06 21:02:45

标签: java macos process applescript activity-monitor

您好

我在MAC OS上运行Java(jar)应用程序。我正在使用AppleScript来运行Java程序,它运行正常。现在,我喜欢使用AppleScript来关闭Java程序。我需要 强制退出 Java程序。我使用了以下AppleScript,

set app_name to "NPC"
set the_pid to (do shell script "ps ax | grep " & (quoted form of app_name) & " | grep -v grep | awk '{print $1}'")
if the_pid is not "" then do shell script ("kill -9 " & the_pid)

运行Java程序的AppleScript称为" NPC.app"当我跑'#34; NPC.app"它在Activity Monitor应用程序中显示为 NPC NPC.npc 。设置为删除NPC应用程序的上述代码不会删除 NPC (这是" NPC.app")或 NPC.npc (这是Java程序)。我收到以下错误,

  

错误" sh:第0行:kill:1180 1182:参数必须是流程或工作   的ID" 1号

1180是 NPC 的PID,1182是活动监视器中 NPC.npc 的PID。

强制退出Java程序的AppleScript是什么?

2 个答案:

答案 0 :(得分:0)

请尝试使用pkill

do shell script ("pkill -9 NPC*")

一些例子here

答案 1 :(得分:0)

以下是关闭Java程序的AppleScript,

tell application "Terminal"
    do shell script "ps ax | grep \"java.*$1\" | grep -v grep | awk '{ print \"kill \" $1 }' | sh"
    quit
end tell

*参考:MAC OS - Is there a way to close a Java program?

感谢:wojciechka♦♦ *