क्या परीक्षण प्रयोजनों के लिए एकल सिस्टमड टाइमर-युग्मित सेवा इकाई को मैन्युअल रूप से निष्पादित करना संभव है?


21

मेरे पास एक टाइमर / सेवा इकाई-सेट है जिसे दिन में एक बार --userशर्तों के तहत चलना चाहिए । यह systemctl --user statusपत्रिका के साथ दिखाई देता है और लॉग इन हो जाता है, लेकिन कमांड का एक भाग विफल रहता है।

ऐसा लगता है कि कमांड में कुछ भी सही ढंग से व्याख्या नहीं किया जा रहा है। मैं यूनिट फ़ाइल के साथ फ्यूज़ करना चाहता हूं और सेवा को चलाने के लिए, समस्या को डीबग करने के लिए लॉग आदि की जांच करता हूं; हालांकि भविष्य में एक मिनट ट्रिगर करने के लिए टाइमर का संपादन करना, प्रतीक्षा करना और लॉग की जांच करना ... थकाऊ है।

क्या ऐसा कुछ किया जा सकता है जैसे systemctl --user execute xxxxxx.serviceकि खतरे की बात को चलाने के लिए जैसे कि टाइमर ट्रिगर हो गया?

जवाबों:


12

आप किसी भी इकाई को मैन्युअल रूप से सक्रिय कर सकते हैं, जब तक कि इसमें एक RefuseManualStart=yesऔर / या RefuseManualStop=yesनिर्देश न हो (जो वास्तव में वे कहते हैं)। बस जारी systemctl --user start <whatever>(और systemctl --user stop <whatever>विपरीत करने के लिए)।

Systemctl (1) उद्धृत करने के लिए :

PATTERN प्रारंभ करें ...

कमांड लाइन पर निर्दिष्ट एक या अधिक इकाइयाँ प्रारंभ (सक्रिय) करें।

<...>

PATTERN बंद करो ...

कमांड लाइन पर निर्दिष्ट एक या अधिक इकाइयों को रोकें (निष्क्रिय करें)।


यहां काम नहीं कर रहा है:Failed to restart {foo}.service: Operation refused, unit {foo}.service may be requested by dependency only.
eMPee584

1
@ eMPee584 जब से यह उत्तर लिखा गया था, सिस्टमड ने नए निर्देश प्राप्त किए RefuseManualStart=और RefuseManualStop=(जो वे कहते हैं वही करते हैं)। मैंने इसका उत्तर देने के लिए अपना उत्तर अपडेट कर दिया है।
3
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.