1

私は、PLIST ファイルに関するこのような種類の質問が約 1,000 あることを知っています (それ自体が、Apple がこの質問で完全に間違っていたことを伝えているはずです)。

crontab の 1 行でできることを、適切に実行できない xml ファイルが必要になりました。

plist ファイルは次のようになります。

<?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.ll.dbcopy</string>
   <key>Program</key>
   <string>/Users/MyName/backup/dbcopy.sh</string>
   <key>StartCalendarInterval</key>
   <dict>
      <key>Minute</key>
      <integer>30</integer>
      <key>Hour</key>
      <integer>7</integer>
   </dict>
</dict>
</plist>

置かれています/Library/LaunchAgents

私がそれを実行しようとするとsudo launchctl start com.ll.dbcopy

error no such process

それが指すプログラムを問題なく実行できます。

失敗する理由はありますか?

ご協力いただきありがとうございます。

4

2 に答える 2

1

他の誰かがこの問題に遭遇した場合に備えて、実行する前に plist を launchctl load する必要があります。launchctl は、ロードされた plist スクリプトの配列で plist を見つけられないため、「そのようなプロセスはありません」と表示されます。あなたは実際にはファイルを開始していません(AppleのlaunchctlのMANページによると、「開始」はテストに明示的に使用されているため、より論理的です)、plistのリストの参照を指して開始しています。

そのため、plist に変更を加えて、もう一度「開始」したい場合は、アンロードしてから再度ロードする必要があります。

于 2013-02-23T22:17:50.203 に答える
0

この質問に出くわした他の人は、次のように入力している可能性があります。

launchctl start ...

彼らが望むのは:

launchctl load ...
于 2013-12-07T16:54:45.390 に答える