বন্ধ হয়ে গেলে অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে পুনঃসূচনা করুন


10

আমার একটি সার্ভার অ্যাপ্লিকেশন রয়েছে যা আমি যখনই কম্পিউটারটি চালাচ্ছিলাম তখনই আমি চলতে চাই এবং সাধারণত এটি হয় তবে আমি কখনও কখনও এটি নিজেই বন্ধ হয়ে যাব।

অ্যাপ্লিকেশনটি পর্যবেক্ষণ করার জন্য চালাতে সক্ষম এমন কোনও ব্যাট বা স্ক্রিপ্ট আছে কি এটি বন্ধ হওয়া উচিত?


কী ধরণের অ্যাপ্লিকেশন, এবং কীভাবে এটি সাধারণত শুরু হয়? সার্ভিস হিসাবে, রান কমান্ড হিসাবে রেজিস্ট্রিতে, বা স্টার্টআপ ফোল্ডারে?
কেকটরউ

রেজিস্ট্রি রান কমান্ড। বিকল্প 'স্টার্ট' সহ।
সিড

ইতিমধ্যে আপনি যদি সেই আদেশটি ইতিমধ্যে চলমান অ্যাপ দিয়ে চালিত করেন তবে কি হবে?
কেকটরউ

কিছুই নেই। কমান্ডটি সনাক্ত করে যে অ্যাপ্লিকেশনটি ইতিমধ্যে চলছে।
সিড

উত্তর:


12

এটি সর্বদা কার্যকর হয় না (এটি প্রোগ্রামটি কীভাবে লোড হয় তার উপর এটির সাজান) তবে সাধারণত আপনি এই জাতীয় ব্যাচ ফাইল তৈরি করতে পারেন:

@Echo off
:Start
NotePad
echo Program terminated at %Date% %Time% with Error %ErrorLevel% >> c:\logs\program.log 
echo Press Ctrl-C if you don't want to restart automatically
ping -n 10 localhost

goto Start

আমি উদাহরণ হিসাবে নোটপ্যাড ব্যবহার করেছি।

রেখাগুলি

echo Press Ctrl-C if you don't want to restart automatically
ping -n 10 localhost

ব্যবহারকারীকে প্রক্রিয়াটি আবার শুরু করার আগে এই প্রক্রিয়াটি বাতিল করার সুযোগ দিতে মাত্র 10 বিলম্ব (10 সেকেন্ডের) are

লাইন

echo Program terminated at %Date% %Time% with Error %ErrorLevel% >> c:\logs\program.log 

প্রয়োজন হয় না, তবে প্রোগ্রামটি কোনও ফাইলের সাথে বন্ধ হয়ে গেলে প্রতিটি সময় লগ করা হত, সুতরাং সমস্যাটি সনাক্তকরণে এটি কার্যকর হতে পারে ত্রুটি-লেভেল আপনাকে খুব বেশি কিছু না বলে দিতে পারে, তবে কোনও প্রোগ্রামটি স্বাভাবিকভাবে বন্ধ হয়ে থাকলে 0 ফেরত আসবে বলে মনে করা হয়, এবং কোনও -জারো মেসেজ না দিলে

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


"তারপরে ব্যাচটি গোল হয়ে যাবে এবং প্রতি দশ সেকেন্ডে আপনার প্রোগ্রাম শুরু করার চেষ্টা করবে" " এটা কি একটা খারাপ জিনিস?
posfan12

ধন্যবাদ !! 12:52 AM তে একটি সামান্য অনুলিপি করুন এবং পেস্ট করুন এবং সকালে আমি কী খুঁজে পাব (বা খুঁজে পাব না) সে সম্পর্কে চিন্তা না করে (খুব বেশি) ঘুমাতে পারি। উহ। ঘুমোত্তর সকালে।
স্পাইকএক্সএফ

2

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


এটি আমাকে বরং একটি আনাড়ি এবং অদক্ষ সমাধান হিসাবে আঘাত করেছে, যদিও দ্রুত। একই শেষ দিকে সম্ভবত আরও উপযুক্ত উপায় আছে? আপনার সাহায্যের জন্য ধন্যবাদ!!!
সিড

সিড, যেমনটি আমি বলেছিলাম, ওভারহেডটি খুব ন্যূনতম এবং এটি করা সহজ। আপনি যদি কিছু চালিয়ে যাচ্ছেন কিনা তা যাচাই করার জন্য এবং তারপরে এটি পুনরায় শুরু করার জন্য নির্বিঘ্নে কোনও উপায় খুঁজে বের করতে চান তবে নির্দ্বিধায় পড়ুন, তবে ইতিবাচক ফলাফল নিয়ে আমি দীর্ঘদিন ধরে এটি করে চলেছি। এটি যখন আপনার সার্ভারে সাধারণত অ্যাপ্লিকেশন থাকে তখন এটি ব্যবহার করা একটি সাধারণ পদ্ধতি that
কেকটরউ

এখন পর্যন্ত সবচেয়ে সহজ পদ্ধতি। এবং ওভারহেড নেই।
surfasb

2

আমি অনুমান করি যে এই প্রশ্নের সঠিক উত্তর আপনি কেন এটি করতে চান তার উপর নির্ভর করে । আপনি কি দুর্ঘটনা বন্ধ শাট ডাউন সমাধান করার চেষ্টা করছেন? মেশিনের ব্যবহারকারীগণ (যেমন কর্মীরা নিরীক্ষণ সফ্টওয়্যারটি বন্ধ করে দিচ্ছেন) কর্তৃক "দূষিত" শাট ডাউনকে আটকাবেন? গুরুতর এবং দক্ষ দূষিত আক্রমণ প্রতিরোধ করবেন? আপনি কি নিজেকে ম্যালওয়্যার লেখার চেষ্টা করছেন (কোন ক্ষেত্রে দয়া করে সোড অফ ;-))?

এছাড়াও, অন্যান্য মন্তব্যকারীরা যেমন উল্লেখ করেছেন, আপনি যদি উইন্ডোজ পরিষেবা লিখেন তবে এটির চেয়ে আলাদা হবে (উদাহরণস্বরূপ)

ব্যক্তিগতভাবে, আমি সম্ভবত দ্বিতীয় অ্যাপ্লিকেশন লিখে এবং এটি একইভাবে শুরু করে শুরু করব। আছে উভয় অ্যাপ্লিকেশনের জন্য স্ক্যান একে অপরের নিশ্চিত করুন যে আপনি একটি সহজ উপায় জন্য আবেদন বৈধভাবে যদিও বন্ধ করে দেওয়া হয় প্রদান - সময় অন্তর এবং পুনর্সূচনা প্রয়োজনীয় কিনা!

এটি বলেছিল এবং আপনার মন্তব্যটি দেওয়া হয়েছে "মাঝে মাঝে আমি এটি নিজেই বন্ধ হয়ে গেছে বলে মনে করি" আমি আসলে এটি বন্ধ হয়ে গেছে কেন তা চেষ্টা করার মাধ্যমে ...


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

ক্ষমা প্রার্থনা - আমি ভাবছিলাম যে আমি "প্রোগ্রামার্স" গ্রুপে ছিলাম এবং আপনি নিজেই অ্যাপটি লিখেছেন :-) আনাড়ি বলে মনে হচ্ছে @KCotreau দ্বারা বর্ণিত "নির্ধারিত কাজ" পদ্ধতির পরামর্শ দেব
স্টিভ

2

আপনি রেস্টার্টমি ২.০ [ মিরর ] নামক একটি প্রোগ্রাম ব্যবহার করতে পারেন যা ঠিক তা করে:

প্রক্রিয়াগুলির জন্য পর্যবেক্ষণ করে এবং যদি তারা বন্ধ হয় তবে এগুলি পুনরায় চালু করে।


-1

এই উপায় ভাল! এটি কিছু কোড যা আমি মাইনেস্ট গেম সার্ভারের জন্য ব্যবহার করছি একটি .bat ফাইলে সংরক্ষণ করা উচিত

@echo off
rem This is a comment line
rem This one is a comment too
rem Following line ensures the working directory is searched in C:
C:
rem Join the correct directory, where the server stuff lies in:
cd "C:\Users\morenavaj\Documents\minetest-0.4.16-win64 - Lone_Wolf\"
:love_spaghetti_code
bin\server.lnk --config minetest.conf ^
            --worldname "Land of Blockheads" ^
            --gameid minetest_game ^
            --port 30000 ^
            --logfile bin/debug.txt

echo Restarting server....
goto love_spaghetti_code

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