একটি পাইথন স্ক্রিপ্ট আহ্বান Launchd ব্যবহার করে?


4

আমার প্রাথমিক প্রশ্ন থেকে ধারাবাহিকতা হিসাবে ...

OSX মধ্যে নিয়মিত ব্যাকআপ লগ ফাইল?

আমি একটি ওএসএক্স কম্পিউটার এবং একটি jailbroken আইফোন একটি logfile ব্যাকআপ করার চেষ্টা করছি। লঞ্চডকে একটি সমাধান হিসাবে সুপারিশ করা হয়েছিল এবং কিছু গুগল অনুসন্ধান পরে LingOn ব্যবহার করার জন্য টুল প্রকাশ করেছে।

আউটপুট (ক্ষেত্রগুলি পূরণ করার পরে) আমাকে এই প্লেস্ট দেয়:

<?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.ash.MySuperLaunchd</string>
    <key>ProgramArguments</key>
    <array>
        <string>python</string>
        <string>/Users/ash/Desktop/sendemail.py</string>
    </array>
    <key>StartInterval</key>
    <integer>3600</integer>
</dict>
</plist>

এখন আমার পাইথন স্ক্রিপ্টটি টার্মিনালে চালানোর মাধ্যমে চালানো হবে আমার প্রয়োজনীয় সংযুক্তিগুলির সাথে সফলভাবে আমার ইনবক্সে ইমেল পাঠাবে।

LaunchD যদিও আরম্ভ করা হয় না এবং আমি কেন নিশ্চিত নই।


1
আপনি launctl সঙ্গে আপনার plist নিবন্ধিত আছে? কোথায় আপনি এই ফাইল রাখা হয়নি?
Daniel Beck

Lingon plist মধ্যে রাখে / লাইব্রেরি / LaunchDemons /
Ash

আমি সঙ্গে নিবন্ধিত sudo launchctl load w- com.ash.MySuperLaunchd
Ash

1
আমি পাতলা আপনাকে ফাইল পাথ লোড করতে হবে, আপনি নিযুক্ত ইচ্ছাকৃত সনাক্তকারী না, অন্তত ম্যান পৃষ্ঠা যে মত দেখায়। এছাড়াও, আমি আপনাকে স্ক্রিপ্ট ফাইল এক্সিকিউটেবল করতে সুপারিশ করি, একটি শিব্যাগ হেডারের পথ উল্লেখ করে which python এবং PATH সমস্যাগুলি সঙ্কুচিত করতে সরাসরি এটি কার্যকর করুন। শেষ পর্যন্ত, চেক করুন /Applications/Utilities/Console.app ত্রুটি বার্তা জন্য।
Daniel Beck

1
আমি Shebang হেডার পরীক্ষা দ্বিগুণ এবং এটি সঠিক ডিরেক্টরির নির্দেশ ছিল না। আমি লিনাক্সের জন্য তৈরি করা একটি স্ক্রিপ্ট অনুলিপি এবং পেস্ট হিসাবে আমার দোষ। সবকিছু এখন কাজ করছে, শুধু আইফোনের এটিকে কিভাবে প্রতিলিপি করতে হবে তা আমি জানি না।
Ash

উত্তর:


1

আপনি এজেন্ট লোড করতে হবে। উভয় relogin, অথবা launchctl load /path/to/file.plist

RunAtLoad ডিফল্টরূপে মিথ্যা, তাই স্ক্রিপ্ট প্রথমবার চালানো হয় StartInterval এটি লোড হওয়ার কয়েক সেকেন্ড পরে, এই ক্ষেত্রে 3600।

পথ ProgramArguments স্ক্রিপ্ট স্থায়ী অবস্থান নির্দেশ করতে হবে, তাই সম্ভবত এটি হতে হবে না ~/Desktop/। টার্গেট স্ক্রিপ্ট এক্সিকিউটেবল হতে হবে না। কিন্তু মন্তব্যে @ ড্যানিয়েলবেকের সঠিকভাবে সমস্যা সমাধান করুন, আপনি উদাহরণস্বরূপ সক্ষম হবেন তা পরীক্ষা করুন python /Users/ash/Desktop/sendemail.py প্রথম স্থানে এবং যে Shebang লাইন সঠিক।

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