আমার একটি লঞ্চড ডিমন স্থাপন করা আছে ~/Library/LaunchAgents
যা ম্যাভেরিক্সে ভাল কাজ করেছে। তবে এটি ইয়াসেমাইট পাবলিক বিটাতে শুরু হবে না। ডেমন প্লিস্টটি এটির মতো (আমার ব্যবহারকারী নাম darksair
ইউআইডি 501 সহ)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.darksair.retrmail</string>
<key>ProgramArguments</key>
<array>
<string>/Users/darksair/bin/retrmail.py</string>
</array>
<key>KeepAlive</key>
<false/>
<key>StartInterval</key>
<integer>300</integer>
<key>LaunchOnlyOnce</key>
<false/>
<key>UserName</key>
<string>darksair</string>
<key>ProcessType</key>
<string>Standard</string>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/Users/darksair/Python/bin:/Users/darksair/Python3/bin:/Users/darksair/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
</dict>
<key>StandardOutPath</key>
<string>/Users/darksair/logs/retrmail.log</string>
<key>StandardErrorPath</key>
<string>/Users/darksair/logs/retrmail.log</string>
</dict>
</plist>
মূলত এটি ~/bin/retrmail.py
প্রতি 5 মিনিটে চালানোর কথা ।
আমি লক্ষ্য করেছি যে ইয়োসেমাইটে লঞ্চ হয়েছে ২.০ এ উন্নীত হয়েছে, এবং লঞ্চক্টেলটিতে নতুন কমান্ড রয়েছে। আমি চেষ্টা করেছিলাম
sudo launchctl kickstart user/501/org.darksair.retrmail
এবং এটা বলেছে
Could not find service "org.darksair.retrmail" in domain for uid: 501
আমি পুরানো স্কুল চেষ্টা করেছিলাম
sudo launchctl load ~/Library/LaunchAgents/retrmail.plist
এবং এটা বলেছে
/Users/darksair/Library/LaunchAgents/retrmail.plist: Path had bad ownership/permissions
ফাইলটি আমার এবং স্টাফ গ্রুপের মালিকানাধীন। আমি একই ত্রুটির সাথে 644 এবং 600 উভয়ের অনুমতি চেষ্টা করেছি।
সুতরাং কেউ কীভাবে জোসাইমেটে একটি লঞ্চড ডেমোনকে সঠিকভাবে আগুনে ফেলা যায় জানেন?
আপডেট: দেখে মনে হচ্ছে আমার লঞ্চ এজেন্ট ফাইলটির মালিকানা থাকতে হবে root:wheel
। আমি ছিঁড়ে যাওয়ার পরে, চেষ্টা করেছি
sudo launchctl load ~/Library/LaunchAgents/retrmail.plist
এবং এটি কোনও ত্রুটি জারি করেনি। এবং আমি মনে করি আমার ডিমন ঠিকমতো চলছে। আমি এই প্রশ্নটি উন্মুক্ত রেখে দেব কারণ আমি মনে করি লঞ্চ হওয়া নথিতে স্পষ্টভাবে বলা আছে যে লঞ্চ এজেন্ট ফাইলটি ডিমনটি চালানো ব্যবহারকারীর দ্বারা মালিকানাধীন হতে পারে।
আপডেট 2: না এটি সঠিকভাবে চলছিল না। এটি কেবল একবার চালানো হয়েছিল, তবে তা আবার নয়, যেন এটি লোড হয়েছে।
আপডেট 3: আমি ইয়োসেমাইট পাবলিক বিটা 3 এ আপগ্রেড করেছি এবং আমার এজেন্টকে এটিতে পরিবর্তন করেছি
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.darksair.retrmail</string>
<key>ProgramArguments</key>
<array>
<string>/Users/darksair/bin/retrmail.py</string>
</array>
<key>StartInterval</key>
<integer>300</integer>
<key>UserName</key>
<string>darksair</string>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/Users/darksair/Python/bin:/Users/darksair/Python3/bin:/Users/darksair/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
</dict>
<key>StandardOutPath</key>
<string>/Users/darksair/logs/retrmail.log</string>
<key>StandardErrorPath</key>
<string>/Users/darksair/logs/retrmail.log</string>
</dict>
</plist>
আমি এই এজেন্টটি পুনরায় লোড করেছি এবং আমার মনে হয় এখন এটি সঠিকভাবে কাজ করছে। আমি এখনও এই প্রশ্নটি খোলা রেখে চলেছি কারণ আমার আগের প্লিস্টটিতে কী সমস্যা তা আমি জানি না।
উপসংহারে, যা আমি পেয়েছি তা হল root:wheel
লোড করার জন্য আমাকে প্লাস্টের মালিককে পরিবর্তন করতে হবে।