সিস্টেমেডে প্রক্রিয়া শুরু এবং শুরু করার মধ্যে বিলম্ব যোগ করা


10

আমি সত্যিই একটি অদ্ভুত সমস্যা আছে systemd। আমি যখন ইস্যু করি systemctl restartএটি পূর্ববর্তীটি শেষ হওয়ার আগেই নতুন প্রক্রিয়াটি শুরু করবে।

এটি লগটিতে দেখা যায়, যেখানে স্টার্টআপ বার্তার ("উদ্বোধন লগ") পরে চূড়ান্ত শাটডাউন বার্তা ("ক্লোজিং লগ") লগ হয়।

স্টপ এবং প্রক্রিয়া শুরুর মধ্যে কোনও বিলম্ব যুক্ত করার কোনও উপায় আছে কি?


আপনাকে দৌড়ানো থেকে systemctl stop myservice && sleep 3 && systemctl start myservice
বিরত রাখার

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

উত্তর:


13

আপনার সিস্টেমেড সার্ভিস ফাইলে, আপনি পুনরায় আরম্ভের জন্য একটি বিলম্ব যোগ করতে পুনরায় সূচনা বিকল্প সেট করতে পারেন। নীচে উদাহরণ দেখুন:

[Service]
Restart=always
RestartSec=30

আরও উদাহরণের জন্য এই লিঙ্কটি দেখুন।


1
আফাইক RestartSecকেবলমাত্র Restart=নির্দেশের সাথে কনফিগার করা পরিষেবাগুলিতে প্রযোজ্য এবং কোনওsystemctl restart someservice
don_crissti

1

রিস্টার্টসেক কেবল তখনই ব্যবহৃত হবে যদি সেই নির্দিষ্ট পরিষেবাটি সেই সিস্টেমটিএসটিটিএল পুনরায় সূচনা কমান্ডের মাধ্যমে পুনরায় চালু করা হয়।

উদাহরণস্বরূপ, আমার দুটি এবং এ, বি রয়েছে services

[Unit]
Requires=network-online.target
[Service]
ExecStart=A-stuff
Restart=always

এবং

[Unit]
Requires=A.service
After=A.service
[Service]
ExecStart=B-stuff
Restart=always
RestartSec=30

আপনি যদি একটি সিস্টেমেটেল বি পুনঃসূচনা বি করেন, এটি প্রত্যাশার মতো কাজ করে ... তবে আপনি যদি একটি সিস্টেমটেল পুনরায় চালু করুন, উভয় পরিষেবা বন্ধ হয়ে যায় এবং তত্ক্ষণাত ততক্ষণে আবার শুরু করা হয়, কোনও বিলম্ব না করে।

সিস্টেমড সম্ভবত আপনার দ্বারা নির্দিষ্ট করা একটি পরিষেবার জন্য কনফিগারেশন মানগুলি ব্যবহার করছে এবং কোনও নির্ভরতার জন্য সেগুলি উপেক্ষা করছে।

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

আপনি সম্ভবত এ এর ​​সাথে আরও বিলম্ব যোগ করে এটি ঘিরে কাজ করতে পারেন তবে এটি করার দরকার নেই, কারণ এটি নির্ভরতা না হলে বি সম্পর্কে জেনে থাকার মাধ্যমে বস্তুর বিচ্ছিন্নতা ভঙ্গ করে।

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