35

launchd スクリプトが機能しない理由を突き止めようとしています。非常にシンプルですが、私はMac環境に慣れていないため、慣れようとしています. これが私のリストです。が必要であることはわかってProgramArgumentsいるので、そこにスクリプト パスを入力します。

<?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.tomcat.plist</string>   
  <key>ProgramArguments</key>  
  <array>  
    <string>/opt/apache-tomcat-5.5.27/bin/startup.sh</string>  
  </array>  
  <key>OnDemand</key>  
  <false/>  
</dict>  
</plist>

実行しようとするlaunchctl load <name>と、正しくロードされているように見えますが (エラー メッセージは表示されません)、再起動してもスクリプトが実行されていないようです。

オンラインで見つけたすべての例を使用しましたが、起動時にスクリプトが実行されない理由がわかりません。

4

3 に答える 3

16

launchctl load を呼び出したときにスクリプトを自動的に実行するには、以下を追加する必要があります:-

<key>RunAtLoad</key>
<true/>

または、次を使用できます:-

launchctl start com.tomcat.plist
于 2009-10-07T16:46:11.540 に答える
3

ほとんどの人はこの問題を抱えていないと思いますが、終了コードlaunchd loadを返しても機能しない理由を解明するのに 2 時間近く費やしたので、ここに記載する価値があると思います。0

問題は簡単でした。plistファイルの拡張子が間違っていて (" " plst)、launchctl黙ってファイルの読み込みを拒否していました。拡張子を変更しplistて問題を解決しました。

于 2019-01-19T22:29:23.150 に答える