LaunchD ব্যবহার করে একটি এক-liner শেল কমান্ড চালানো কিভাবে?


2

নীচে আমি যা করার চেষ্টা করছি তার একটি উদাহরণ:

    <?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>fooLabel</string>
        <key>Something</key>
        <string>/bin/bash foo -arg 1 -arg 2 &</string>
</dict> 
</plist>

প্লাস্টার যোগ করা হয়েছে /Library/LaunchDaemons তাই এটি সব ব্যবহারকারীদের জন্য বুট এ চালানো উচিত, অধিকার? দ্য উপযুক্ত ফাইল অনুমতি স্থাপন করা হয়েছে.

স্ক্রিপ্ট একটি ব্যাকগ্রাউন্ড প্রক্রিয়া হিসাবে চালানোর প্রয়োজন এবং নেটওয়ার্ক সংযোগ প্রয়োজন। ইন্টারনেট অ্যাক্সেসটি ইনস্টল না হওয়া পর্যন্ত প্লাস্টার কীভাবে লঞ্চ না করে তা আমি কীভাবে নিশ্চিত করতে পারি?


1
চ্যাট আমাকে যোগ দিন chat.stackexchange.com/rooms/38/ask-different-chat
Allan

উত্তর:


3

আপনি নেটওয়ার্ক অবস্থা জন্য এই চেক অন্তর্ভুক্ত করতে চান:

<dict>
  <key>NetworkState</key>
  <true/>
</dict>

এছাড়াও - আপনি সম্ভবত আপনার প্রোগ্রাম সঠিকভাবে পাস করতে চান:

<key>ProgramArguments</key>
<array>
    <string>/usr/local/bin/binaryname</string>
    <string>arg1</string>
    <string>arg2</string>
</array>

1
আপনার সাহায্যের জন্য ধন্যবাদ. আমি এখনও কিছু সমস্যা হচ্ছে। নিম্নলিখিত কমান্ডের জন্য আপনি args ব্যবহার করার একটি উদাহরণ দেখাতে পারেন? tail -n100 /var/log/foo.log | curl -s --data - http://website.com/upload/ 2>&1 >/tmp/bar
lily

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