প্রতি x মিনিটে প্রোগ্রাম পুনরায় চালু করবেন?


10

আমার কাছে একটি মিডিথ্রিডেড জাভা প্রোগ্রাম রয়েছে যা একটি ওপেনসোর্স লাইব্রেরি ব্যবহার করে এবং এই লাইব্রেরিতে কিছু বাগ রয়েছে যার ফলে আমি বাগটি প্রতিবেদন করেছি তবে এটি স্থির হতে সময় লাগবে, আমার এই প্রোগ্রামটি ব্যবহার চালিয়ে যাওয়া দরকার এবং যতক্ষণ না এটি চলবে প্রতি আমার ২-৩ ঘন্টা পুনরায় চালু হয় এটি আমার জন্য কাজ করবে। প্রতি x মিনিটে প্রোগ্রাম পুনরায় চালু করার কোনও উপায় আছে কি?


3
আপনি এমন একটি স্ক্রিপ্ট লিখতে পারেন যা প্রতি ২-৩ ঘন্টা অন্তর শেষ করে টাস্কটি পুনরায় চালু করতে পারে।
gt6989b

@ Gt6989b এর সাথে অনুসরণ করতে, আমি একটি পাইথন স্ক্রিপ্ট লিখব যা কেবল লুপ করে এবং ২-৩ ঘন্টা কেটে যাওয়া পর্যন্ত অপেক্ষা করে, এবং তারপরে প্রোগ্রামটি পুনরায় চালু করে। আপনি পাইথন সাবপ্রসেস এবং sh মডিউলগুলি দরকারী খুঁজে পেতে পারেন ।
ব্রেকথ্রু

উত্তর:


12

আপনি এটি করার চেষ্টা করতে পারেন crontab:

crontab -e

তারপর

 11 */3 * * * /usr/bin/pkill -f appli_name; /path/to/appli_name & &>/dev/null

crontabকমান্ড বলতে চাইছেন:

  • প্রতি 3 ঘন্টা
  • অ্যাপলি_নাম মেরে ফেলুন
  • পটভূমিতে appli_name শুরু করুন

এইভাবে আমি বর্তমানে একই ধরণের সমস্যাটি সমাধান করি। ক্রোনের মাধ্যমে আমি প্রতি রাতে 0:00 টায় একটি নির্দিষ্ট সফ্টওয়্যার পুনরায় চালু করি, যেহেতু 4-5 দিনের পরে সফ্টওয়্যারটির রাজ্য ফাইলটি দূষিত করার প্রবণতা রয়েছে। আমি সফ্টওয়্যারটিকে পরিষেবা হিসাবে ইনস্টল করেছি এবং তারপরে প্রয়োজনীয় service <appname> restart > /dev/null 2>&1সময়ে চালাচ্ছি ।
ড্যানিয়েল অ্যান্ডারসন

2

আমি আপনাকে আপনার কাজের জন্য সুপারভাইজার কনফিগার করার পরামর্শ দিচ্ছি । এটি প্রক্রিয়াটি পর্যবেক্ষণ করতে পারে, ব্যর্থ হলে পুনরায় চালু করতে পারে, আউটপুট পুনঃনির্দেশ এবং অন্যান্য দুর্দান্ত বৈশিষ্ট্যও সরবরাহ করে। প্রোগ্রাম শুরু করার উদাহরণ দেখুন ।


+1, এটির বিপরীতে এটি আরও "পরিষ্কার" সমাধান বলে মনে হচ্ছে crontab(যদিও উভয় সমাধান ঠিকঠাকভাবে কাজ করে)। তবে, আমি দেখতে পাই সুপারভাইজার কোন প্রক্রিয়াটি প্রেরণ করতে হবে এবং কখন (যেমন কখন প্রেরণ করতে হবে SIGTERM, এবং প্রেরণের আগে কতক্ষণ অপেক্ষা করতে হবে SIGKILLইত্যাদি ইত্যাদি) কনফিগার করার ক্ষেত্রে আরও ভাল ।
ব্রেকথ্রু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.