こんにちは、
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 は何ですか?