মৃত্যুর সাথে সাথে কীভাবে এক্সিকিউটেবলকে পুনরায় চালু করতে হবে


8

আমি কোনও প্রক্রিয়া পর্যবেক্ষণ করার উপায় খুঁজছি এবং যদি প্রক্রিয়াটি যে কোনও কারণে মারা যায় তবে এক্সিকিউটেবলকে পুনরায় চালু করতে হবে। লিনাক্সের কি কোনও অন্তর্নির্মিত সরঞ্জাম রয়েছে যা এটি করতে পারে?


কিছু আরো উত্তর এবং এই প্রশ্নে পয়েন্টার এর serverfault.com/questions/56526/...
jrg

উত্তর:


7

যদি এটি আরআইডি থেকে চালু হয় তবে আপনি এটিকে আরআইপি দ্বারা পুনঃস্থাপন করতে পারেন। আপনি যে প্রক্রিয়াটিতে প্রক্রিয়াটি চান তা চালানোর জন্য প্রক্রিয়াটির জন্য 'রেসন'-এ অ্যাকশন সেট করুন।


একইভাবে, চালু খুব সুন্দর।
জেরেমি এল

আয়ে। এই ধরণের স্টাফের জন্য ডেমন সরঞ্জামগুলিও দুর্দান্ত, তবে অবিস্মরণীয়ভাবে 'বিল্ট ইন' পরীক্ষায় ব্যর্থ হয়।
সিয়ান

10

আমি এর আগেও একই রকম প্রশ্নের উত্তর দিয়েছি

আপনার ক্ষেত্রে:

#!/bin/bash
while ! <<command>>
do
  sleep 1
  echo "Restarting program..."
done

<<command>>আপনি যে আদেশটি কার্যকর করতে চান তা দিয়ে প্রতিস্থাপন করুন । লুপটি ভাঙতে প্রস্থানটি কোডের শূন্যের সাথে শেষ করতে হবে। অন্যথায়, এটি স্ক্রিপ্ট দ্বারা পুনরায় চালু করা হয়।


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

নিখুঁত উত্তর।
অরুণজিথ আরএস

4

আপনি কেবল এটি মারা গেলে পুনরায় চালু করতে চান? এর সাথে সমস্যা হ'ল এটি হিমশীতল এমন পরিস্থিতি পরিচালনা করে না। সুতরাং কেবল প্রক্রিয়াটি পরীক্ষা করতে সর্বদা সহায়তা করবে না। সুতরাং এটি যদি ওয়েব সার্ভারের মতো কিছু হয় তবে আপনি ব্যবহারকারীর দৃষ্টিকোণ থেকে এটির স্ক্রিপ্ট পরীক্ষা করতে চান।

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


+1, নিশ্চিত হয়ে নিন যে আপনি এমন পরিস্থিতিগুলিও কাভার করেছেন যেখানে এটি ইচ্ছাকৃতভাবে হত্যা করা হয়েছে।
ম্যাক্সিমাস মিনিমাস

ভাল কথা, যদিও আমার ক্ষেত্রে প্রক্রিয়াটি কেবল অদৃশ্য হয়ে যায়
পফারফিশিশ ২

3

ডিস্ট্রোর উপর নির্ভর করে, তবে আমরা এই কাজের জন্য সফলভাবে "মনিট" ব্যবহার করেছি। এটা বেশ সহজ। আপনি নিজের চেক লিখতে পারেন, প্রসেস পিআইডি ইত্যাদি পর্যবেক্ষণ করতে পারেন

উদাহরণস্বরূপ monitrc ফাইল:

check process sshd with pidfile /var/run/sshd.pid
   start program  "/etc/init.d/ssh start"
   stop program  "/etc/init.d/ssh stop"
   if failed port 22 protocol ssh then restart
   if 5 restarts within 5 cycles then timeout

2

সরল বাশ স্ক্রিপ্ট কেন নয়?

#!/usr/bin/bash
while `true`
do
  xeyes
done

আপনার পছন্দসই প্রোগ্রামের সাথে জিৎগুলি প্রতিস্থাপন করুন।


0

সংক্ষিপ্ত উত্তর : না আপনার নিজের এটি করতে হবে না।

দীর্ঘ উত্তর : এটি শুরু করার জন্য আপনার পিতামাতার প্রক্রিয়া দরকার হবে এবং তারপরে এটি বেঁচে আছে কিনা তা পরীক্ষা করে দেখুন এবং প্রয়োজনে এটি পুনরায় চালু করুন।

আপনি daemontoolsএটি পরিচালনা করার মতো কিছু ব্যবহার করতে পারেন ।


সংক্ষিপ্ত উত্তর: আপনি ভুল মারা গেছে। দীর্ঘ উত্তর: যদি কোনও লিনাক্স ডিস্ট্রোতে আরটিবটি না থাকে তবে এতে /etc/event.d/ থাকবে - হয় মেকানিজম প্রক্রিয়াটি কোনও প্রক্রিয়া পুনরায় আরম্ভ করবে it
পল টমলিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.