tl; dr: ওএসএক্সের নেটিভ প্রসেস লঞ্চ এবং ম্যানেজার ব্যবহার করুন, launchd
।
এটি করতে, একটি launchctl
ডিমন তৈরি করুন। স্ক্রিপ্টের সমস্ত দিকের উপর আপনার সম্পূর্ণ নিয়ন্ত্রণ থাকবে। আপনি একবার চালাতে পারেন বা ডেমন হিসাবে জীবিত রাখতে পারেন। বেশিরভাগ ক্ষেত্রেই, এই পথটিই।
- অ্যাপল দেব ডক্সের নির্দেশাবলী
.plist
অনুসারে একটি ফাইল এখানে তৈরি করুন বা নিচে আরো বিস্তারিত।
- ভিতরে রাখুন
~/Library/LaunchAgents
- লগ ইন (অথবা এর মাধ্যমে ম্যানুয়ালি চালানো
launchctl load [filename.plist]
)
আরও তথ্যের জন্য launchd
, উইকিপিডিয়া নিবন্ধটি বেশ ভাল এবং অন্যান্য পুরানো সিস্টেমগুলির তুলনায় সিস্টেম এবং এর সুবিধার বর্ণনা দেয়।
লগইনে স্ক্রিপ্ট চালানোর জন্য এখানে নির্দিষ্ট প্লিস্ট ফাইল ।
ওএসএক্স এল ক্যাপিটেন এবং আরও নতুন ( জোসে মেসিয়াস জুনিয়রকে জমা দেওয়া ) এর জন্য 2017/09/25 আপডেট হয়েছে :
<?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>com.user.loginscript</string>
<key>ProgramArguments</key>
<array><string>/path/to/executable/script.sh</string></array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
<string>
আপনার পছন্দসই কমান্ডের সাথে প্রোগ্রাম কীটির পরে প্রতিস্থাপন করুন (নোটটি উল্লেখ করে যে কোনও স্ক্রিপ্ট অবশ্যই সম্পাদনযোগ্য হতে হবে: chmod a+x /path/to/executable/script.sh
এটি সমস্ত ব্যবহারকারীর জন্য তা নিশ্চিত করার জন্য)।
সংরক্ষণ করুন ~/Library/LaunchAgents/com.user.loginscript.plist
চালাতে launchctl load ~/Library/LaunchAgents/com.user.loginscript.plist
এবং লগ আউট / পরীক্ষা করতে (বা সরাসরি পরীক্ষা করতে, চালানো launchctl start com.user.loginscript
)
/var/log/system.log
ত্রুটি বার্তাগুলির জন্য লেজ ।
মূলটি হ'ল এটি একটি ব্যবহারকারী-নির্দিষ্ট প্রবর্তিত এন্ট্রি, সুতরাং এটি প্রদত্ত ব্যবহারকারীর জন্য লগইন চালানো হবে। সিস্টেম-নির্দিষ্ট লঞ্চ ডেমনগুলি (এতে স্থাপন করা /Library/LaunchDaemons
) বুটে চালানো হয়।
আপনি যদি সমস্ত ব্যবহারকারীর জন্য লগইন চালানোর জন্য কোনও স্ক্রিপ্ট চান তবে আমি বিশ্বাস করি লগইনহুক আপনার একমাত্র বিকল্প, এবং সম্ভবত এটির কারণেই এটি বিদ্যমান।