Applescript アプリケーションでシェル スクリプトを実行し、シェル スクリプトの実行が完了する前に終了することは可能かどうか疑問に思っていました。これは、一定時間サーバーを実行する場合に役立ちます。AppleScript をバックグラウンドで常に実行する必要がある代わりに、関数を独立して実行する方法はありますか?
set server_name to text returned of (display dialog "Choose server." default answer "")
set success to do shell script "if [ -f \"/Users/jessefrohlich/Documents/Minecraft/" & server_name & "/minecraft_server.jar\" ]; then
echo 1;
else
echo 0;
fi"
if success is equal to "1" then
do shell script "cd /Users/jessefrohlich/Documents/Minecraft/" & server_name & "
java -Xmx1024M -Xms1024M -jar minecraft_server.jar"
else
display dialog "Sorry, the file you chose is invalid."
end if
上記をアプリケーションとして実行すると、サーバーが正常に起動します。ただし、アプリケーションrunScript.app
は引き続き実行されます。AppleScript が強制終了されても、サーバーは実行され続けます。サーバーが起動するとすぐに、自動的に終了する方法はありますか?
ありがとう