मैं 90s के टाइमआउट को सिस्टमड में कैसे छोड़ता हूं


15

क्या यह संभव है कि प्रणालीगत रूप से 90 के दशक के समय को छोड़ दें? उदाहरण के लिए, जब यह उपलब्ध होने के लिए डिस्क का इंतजार कर रहा है या उपयोगकर्ता लॉग आउट करने के लिए? मुझे पता है कि यह अंततः विफल हो जाएगा, तो क्या मैं इसे अभी असफल बना सकता हूं? मुझे बस असहाय स्क्रीन पर घूरने से नफरत है।

जवाबों:


11

आपके पास दो विकल्प हैं:

  1. आप TimeoutStopSpec=प्रतीक्षा करने के लिए एक विशिष्ट यूएनआईटी को एक विशिष्ट मूल्य (सेकंड में *) पर सेट कर सकते हैं । आप इसे infinityउस स्थिति में भी सेट कर सकते हैं जिस स्थिति में SIGKILL कभी नहीं भेजा जाएगा (अनुशंसित नहीं है क्योंकि आप भगोड़ा सेवाओं के साथ समाप्त हो सकते हैं जो डीबग करना कठिन हैं)।

  2. एक डिफ़ॉल्ट मान के DefaultTimeoutStopSec=अंदर सेट करें /etc/systemd/system.conf(या निर्देशिकाओं user.confमें से एक में *.d), जो सभी UNITs में TimeoutStopSpec=निर्दिष्ट नहीं है, का उपयोग करेंगे। इस सेटिंग का बहरापन 90 का दशक है जिसे आप सामान्य रूप से देखते हैं।

मैन पेज संदर्भ:

  • man systemd.service के लिये TimeoutStopSpec=
  • man systemd-system.conf के लिये DefaultTimeoutStopSec=

* systemd भी समय चश्मा स्वीकार करता है, उदाहरण के लिए "2min 3s"। यह आदमी में बड़े पैमाने पर वर्णित है।


10
यह इंटरएक्टिव नहीं है। जब सिस्टमड पहले से ही 90 के दशक की गिनती कर रहा है, तो इन परिवर्तनों को करने के लिए बहुत देर हो चुकी है और मैं असहाय होने के बावजूद बैठने के लिए मजबूर हूं।
user7610

@JiriDanek - क्योंकि systemd इंटरैक्टिव नहीं है, इसका मतलब यह नहीं है। आपकी tty प्रक्रिया (जिसमें आप 90 के दशक को देखते हैं) init (sytemd) के बच्चे के रूप में चलती है, अर्थात 90s को दिखाने वाली प्रक्रिया (getty) उन्हें (systemd) गिनने वाली प्रक्रिया का एक बच्चा है। और इसके अलावा, सिस्टमड ज्यादातर संकेतों की अनदेखी करता है। systemd का मतलब किसी रद्दी के सामने यादृच्छिक उपयोगकर्ता द्वारा नियंत्रित नहीं किया जाना है (यह एक बड़ा सुरक्षा जोखिम होगा)।
grochmal

4
मैं मुख्य रूप से एक डेस्कटॉप उपयोगकर्ता हूं, इसलिए मैं चीजों को अलग तरह से देखता हूं। याद है Torvalds 'बेटी प्रिंटर ? सुरक्षा चिंताओं से कई डिजाइन अपर्याप्तता को उचित ठहराया जा सकता है।
user7610

@ गिरिदानक - सिस्टमड एक चिंता का विषय नहीं है , यह एक वास्तविक हमला वेक्टर होगा। यदि आप सही समय पर एक सही संकेत दे सकते हैं तो आप (एक सामान्य उपयोगकर्ता के रूप में) एक सिस्टम सेवा (जैसे SELinux) को निष्क्रिय कर सकते हैं। बस /etc/systemd/system.con में जाएं और DefaultTimeout = 3 जोड़ें। या, बेहतर, उस सेवा को ठीक करें जो विफल हो रही है। यह तथ्य कि कुछ सेवा हमेशा विफल होती है, सिस्टमड का बुरा डिजाइन नहीं है, यूनिट फाइल लिखने वाले व्यक्ति का खराब डिजाइन है।

मेरे विशिष्ट मामले में, यूनिट फ़ाइल का लेखक निर्दोष है। मैं बस एक टाइपो बना दिया जब एक डिस्क UUID कॉपी-पेस्ट। मैंने पाया कि सिस्टम के बढ़ते जाने से पहले उसे पूरे मिनट और आधे इंतजार करने में चिढ़ थी और मुझे सिस्टम में आने दिया और समस्या को ठीक किया। लंबे समय के लिए वास्तव में यहाँ समझ में आता है। सिवाय जब मैं जानता हूँ कि यह व्यवस्थापक नहीं है।
user7610

7

यह संभव नहीं है। सिस्टमड गैर-सक्रिय है।


6

आप /etc/systemd/system.confलाइनों में असुविधा कर सकते हैं:

DefaultTimeoutStartSec=90s
DefaultTimeoutStopSec=90s

और जो आप उचित समझते हैं, उसका मूल्य बदलें।


7
अन्य उत्तर के रूप में भी, यह इंटरैक्टिव नहीं है। जब सिस्टमड पहले से ही 90 के दशक की गिनती कर रहा है, तो इन परिवर्तनों को करने के लिए बहुत देर हो चुकी है और मैं असहाय होने के बावजूद बैठने के लिए मजबूर हूं।
user7610
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.