0

こんにちは、

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」と呼ばれ、「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は Activity Monitor のNPC.npcの PID です。

Java プログラムを強制終了するための正しい AppleScript は何ですか?

4

2 に答える 2

0

pkill代わりに使用してみてください:

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

ここにいくつかの例があります。

于 2014-04-06T21:39:16.553 に答える
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 - Javaプログラムを終了する方法はありますか?

ありがとうございます: wojciechka ♦♦ *

于 2014-04-13T18:30:25.847 に答える