চালু করা ব্যবহারকারী নাম কী কাজ করছে না


0

সুতরাং আমি যখন লগ ইন না করে তখন একটি নির্দিষ্ট ব্যবহারকারী হিসাবে ম্যাক মিনিতে একটি স্ক্রিপ্ট চালানোর জন্য একটি লঞ্চ করা ফাইলটি লেখার চেষ্টা করছি 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লগ ফাইল আপনি রাখতে পারেন যে এক জায়গা।
fd0

আমি বুঝতে পেরেছিলাম যে আমার এই লাইনগুলির দরকার নেই, সেগুলি সরিয়ে নিয়েছে এবং এটি কৌশলটি করেছে। ধন্যবাদ!
নিক ভেলনা

উত্তর:


0

যেমন fd0 উল্লেখ করেছে, আমার ব্যবহারকারী ডিরেক্টরিতে লিখতে পারেনি /private/var/log, যেহেতু আমার লগের প্রয়োজন নেই আমি নীচের লাইনগুলি সরিয়েছি:

<key>StandardErrorPath</key>
<string>/var/log/eod-email.log</string>
<key>StandardOutPath</key>
<string>/var/log/eod-email.log</string>

এবং এটি কাজ শুরু! সমস্যাটি সমাধানের জন্য আমার ব্যবহারকারী যে ডিরেক্টরিতে লিখতে পারেন আমি সেগুলিতেও এটি পরিবর্তন করতে পারি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.