アプリが実行されているかどうかを確認するために、AppleScriptを使用できます。 http://macosx.com/forums/1199085-post2.html
global wasLoaded
on run
set wasLoaded to isAppLoaded("Safari")
idle
end run
on idle
set x to isAppLoaded("Safari")
if x and not wasLoaded then
do shell script "SOME BASH COMMAND" -- stop your launchd task
set wasLoaded to true
else if wasLoaded and not x then
do shell script "SOME BASH COMMAND" -- start your launchd task
set wasLoaded to false
end if
return 1 --will wait 1 second before checking again
end idle
on isAppLoaded(app_name)
tell application "System Events"
set app_list to every application process whose name contains app_name
if the (count of app_list) > 0 then
return true
else
return false
end if
end tell
end isAppLoaded
私は出力を解析することによって達成bash
スクリプターが同じことを行うためにあなたの道を言うことができると確信しています:
私は、アプリケーションの起動とシャットダウンを監視するAppleScriptを記述し、この記事を見つけました
top
から。
Apple documentation for do shell script
こんにちはブライアン: ありがとうございます。 :) ほんとうにありがとう。 AppleScriptでそれほどうまくいきませんでした...まず、起動プロセスをやめたり、アプリが動いているかどうかを調べたりしますか?また、私はこれを私のlaunchdファイルにどのように統合して、私のUNIXコードを最初に実行しないでしょうか? ありがとうございました! – PF1
launchdプロセスを開始して停止させるには、行を入力する必要があります。私はlaunchdを本当に知っていないので、正確なコマンドが何であるか分かりません。もう少し詳しく記入するようにコードを更新しました。 –
ちょっとブライアン:助けてくれてありがとう。私は最終的に、UNIXなどに結果を変形することなく動作するように方法を考え出しました... UNIXを解析してApplescriptにします。 :)私はそのアイデアに感謝しなければならない。 – PF1