ApplescriptアプリケーションにLaunchdを使用する


1

問題なく実行されるApplescriptアプリケーション(印刷リリースと呼ばれる)を作成しました(以下のコード):

do shell script "rm -R /Users/<account>/release.zip; rm -R /Users/<account>/release; curl -L https://URL/to/webserver/release.zip -o /Users/<account>/release.zip; unzip -o /Users/<account>/release.zip -d /Users/<account>; rm -rf /Users/<account>/__MACOSX; /Users/<account>/release/pc-release-mac.command --config config.properties"

現在、plistファイル(com.papercut.release.agent.plistと呼ばれる)を作成しようとしているので、ロード時に実行し、ユーザーがプログラムを閉じると自動的に再起動します。ターミナルを使用してplistファイル(以下に記述)をロードすると、「No such file or directory」エラーが表示されます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
      <key>Label</key>
      <string>com.papercut.release.agent</string>
      <key>ProgramArguments</key>
      <array>
          <string>/Applications/Print Release.app/Contents/MacOS/Application Stub</string>
      </array>
      <key>RunAtLoad</key>
      <true/>
      <key>KeepAlive</key>
      <true/>

次のコードを使用して、ターミナルを使用してplistファイルをロードしようとしています。

launchctl load com.papercut.release.agent.plist

私も試しました:

launchctl load /Library/LaunchAgents/com.papercut.release.agent.plist

アプリケーションをロード時にのみ実行し、すべてのアカウントではなく1つの特定のアカウントに対してのみキープアライブさせることができれば素晴らしいと思いますが、その方法はわかりません。

どんな助けも大歓迎です。


に保存com.papercut.release.agent.plist~/Library/LaunchAgentsます。次にcd、そのディレクトリに移動してを実行しlaunchctl load com.papercut.release.agent.plist、それが機能するかどうかを確認します。
CJK
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.