সুতরাং আমি যখন লগ ইন না করে তখন একটি নির্দিষ্ট ব্যবহারকারী হিসাবে ম্যাক মিনিতে একটি স্ক্রিপ্ট চালানোর জন্য একটি লঞ্চ করা ফাইলটি লেখার চেষ্টা করছি This এটি প্লিস্ট ফাইলটি:
<?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.wintr.eodemail</string>
<key>Program</key>
<string>/Users/*myusername*/Desktop/testdaemon/testdaemon.sh</string>
<key>StandardErrorPath</key>
<string>/var/log/eod-email.log</string>
<key>StandardOutPath</key>
<string>/var/log/eod-email.log</string>
<key>RunAtLoad</key>
<true/>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Minute</key>
<integer>20</integer>
</dict>
</array>
</dict>
</plist>
আমি /Library/LaunchDaemons/
এটি স্থাপন করেছি এবং এটি রুট ব্যবহারকারী হিসাবে চলমান কাজ করে। কেউ যখন লগ ইন না হয় আমি যখন তা বলি ঠিক তখনই চলে, তবে আমি যখন ইউজারনেম কী যুক্ত করি তখন হঠাৎ এটি কাজ বন্ধ করে দেয়:
<?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.wintr.eodemail</string>
<key>Program</key>
<string>/Users/*myusername*/Desktop/testdaemon/testdaemon.sh</string>
<key>StandardErrorPath</key>
<string>/var/log/eod-email.log</string>
<key>StandardOutPath</key>
<string>/var/log/eod-email.log</string>
<key>RunAtLoad</key>
<true/>
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Minute</key>
<integer>20</integer>
</dict>
</array>
<key>UserName</key>
<string>*myusername*</string>
</dict>
</plist>
আমি যখন ফাইলটি আনলোড এবং লোড করি, তারপরে এটির সাথে sudo launchctl list | grep wintr
এটি সঠিকভাবে লোড হয়েছে কিনা তা পরীক্ষা করে দেখুন:
- 78 com.wintr.eodemail
এবং চালায় না। আমি এখানে কি ভুল করছি?
/private/var/log
, অন্য সমস্ত ব্যবহারকারীর নিজের বাড়ির ফোল্ডারে লগ লিখতে হবে।~/Library/Logs
লগ ফাইল আপনি রাখতে পারেন যে এক জায়গা।