উত্তর:
আমি সমাধান খুঁজে পেয়েছি
sudo launchctl log level debug
এবং এই পরে
tail -f /var/log/system.log
ধরে নিচ্ছেন আপনি লঞ্চ করা প্লিস্ট ফাইলটিতে নিম্নলিখিত লাইনগুলি অন্তর্ভুক্ত করা থাকলে আপনি নিজেই প্রবর্তন না করে নিজের প্রক্রিয়াটি লগ করার চেষ্টা করছেন:
<key>StandardOutPath</key>
<string>/path/to/logfile.log</string>
<key>StandardErrorPath</key>
<string>/path/to/another_logfile.log</string>
এবং প্রক্রিয়াটি পুনরায় লোড করুন, আপনার স্ক্রিপ্টের অভ্যন্তরীণ যে কোনও লগিং বা মুদ্রণ যখনই এটি চালিত হবে তখন সেই দুটি ফাইলের একটিতে ক্যাপচার করা হবে। যদিও ফাইলগুলি ঘোরানো আপনার উপর নির্ভর করে। যেমনটি আপনি প্রত্যাশা করতে পারেন, যদি আপনি উভয় দৃষ্টান্তে একই ফাইলটি ব্যবহার করেন তবে এটি ত্রুটি এবং একই জায়গায় উভয়ই লগ হবে।
দেখুন: লঞ্চ ডেমোনস এবং এজেন্ট তৈরিতে ডিবাগিং লঞ্চ চাকরি বিভাগ ।
ওএস এক্স 10.11 (এল ক্যাপিটান) এ, আপনি sudo launchctl debug <service-target> --stdout --stderr
যদি একটি অ্যাপ-অফার দ্বারা প্রস্তাবিত ফাইল-সিস্টেম বিকল্পটি না নিতে চান তবে আপনি ওয়ান-অফ লগিং সক্ষম করতে ব্যবহার করতে পারেন ।
বর্তমান বাস্তবায়নে প্রচুর স্টাফ আলাদা launchctl
এবং এটি <service-target>
এক ধরণের অদ্ভুত। উদাহরণস্বরূপ, ধরুন আমার কাছে একটি স্থানীয় পরিষেবা আছে যা আমি কনফিগার করেছি ~/Library/LaunchAgents/dev.localmon.plist
, যার "লেবেল" রয়েছে dev.localmon
। তার <service-target>
হয় gui/$UID/dev.localmon
যেখানে, $UID
আপনার ইউজার আইডি, যা, যেহেতু আপনি CLI এই চালাচ্ছেন, আপনার শেল তোমার জন্য ঢুকান হবে।
সুতরাং মনে করুন যে আমার dev.localmon
পরিষেবাটি স্টার্টআপে ক্র্যাশ হয়ে গেছে (এটি ছিল), launchctl
পরের বার (এবং কেবলমাত্র পরবর্তী সময়) পরিষেবাটি শুরুর পরে আমি শেলটিতে প্রক্রিয়াটির স্টাডআউট এবং স্টার্ডারটি পাইপ করার জন্য নিম্নলিখিতগুলিকে কল করতে পারি :
sudo launchctl debug gui/$UID/dev.localmon --stdout --stderr
যেহেতু এটি উন্মুক্ত এবং প্রস্তুত টিটিওয়াইয়ের সাথে ঝুলছে, অন্য টার্মিনালে যান এবং চালান:
launchctl start dev.localmon
# start is a legacy command and doesn't use the fancy new service-target notation
তারপর, প্রথম টার্মিনাল ফিরে, আপনি উচিত আউটপুট দেখুন। (অদ্ভুতভাবে, পরিষেবা প্রক্রিয়াটি মারা গেলে এটি বন্ধ হয় না, সুতরাং আপনাকে Ctrl-C করতে হবে))
বিটিডব্লিউ, একবার আপনার কনফিগারেশন ফাইলটি যা আগে প্যাথ বা পরিবেশ সেবার ভাঙ্গছিল তার সাথে ঠিক করে ফেললে, আপনাকে এখনও পুরানো launchctl unload ~/Library/LaunchAgents/dev.localmon.plist && launchctl load ~/Library/LaunchAgents/dev.localmon.plist
দ্বি-পদক্ষেপটি ব্যবহার করতে হবে যেহেতু ডকুমেন্টেশনের তৈরি uncache
সাবকম্যান্ডের নীচের প্রভাব রয়েছে:
কমান্ড এখনও কার্যকর করা হয়নি।
অ্যাপলের পোস্ট-জবস প্রকাশের কৌশলটির জন্য হ্যাঁ: "দ্রুত সরান এবং জিনিসগুলি বিরতি দিন"
sudo launchctl debug
Could not find domain for
আমার সাথে প্রস্থান