मैं सेवा कमांड की क्रियाशीलता को कैसे बदलूं?


13

मैं काली 2 लिनक्स चला रहा हूं। मैं अपाचे जैसी सेवा शुरू करने के लिए systemctlया serviceकमांड का उपयोग करता हूं । काली के पिछले संस्करण पर कमांड वास्तव में एक सेवा शुरू करते समय "ओके" संदेश प्रिंट करता है; लेकिन इस संस्करण में यह सिर्फ कमांड-लाइन में वापस जाता है और कुछ नहीं कहता है।

क्या वर्बोसिटी को बदलने या इसे व्यवहार करने का एक तरीका है जैसा कि पिछले संस्करण ने किया था?


वैसे आमतौर पर जब कोई संदेश नहीं होता है जिसका मतलब है सफलता।
श्वेतलिन टोनशेव

जवाबों:


1

serviceआदेश (आमतौर पर /usr/sbin/) आजकल आम तौर पर सिर्फ एक है bashखोल स्क्रिप्ट जो invokes systemctlआदेश। आपको अपनी इच्छानुसार आउटपुट देने के लिए इसे आसानी से संशोधित करने में सक्षम होना चाहिए।


0

journaldकेंद्रीयकृत डेमन है जो सभी उपलब्ध स्रोतों से डेटा एकत्र करता है और उन्हें आसान और गतिशील हेरफेर के लिए एक द्विआधारी प्रारूप में संग्रहीत करता है। आपके प्रश्न के उत्तर के रूप में मैं कहूंगा कि आमतौर पर जब कोई आउटपुट नहीं होता है जिसका अर्थ है कि यह "ओके" है, और यदि आप journalctlलॉग्स की जांच करने के लिए सुनिश्चित उपयोग करना चाहते हैं ।


मुझे पता है, लेकिन मुझे इसका उपयोग करने के लिए ठीक संदेश की भावना पसंद है, और मुझे इसे पॉप करने की आवश्यकता है
RL.AdmiralX

सेवा शुरू हो या न हो, कोई आउटपुट नहीं है। मुझे एक उपनाम जोड़ने के लिए लुभाया गया है: सेवा $ 1 प्रारंभ; सेवा $ 1 स्थिति
लीन

-1

आप echo $?1 या 0 की स्थिति प्रदर्शित करने के लिए कमांड में जोड़ सकते हैं ।

&&केवल दूसरे आदेश चलाकर पिछले सफल है अगर की प्रभाव पड़ता है।

systemctl start mysqld.service && echo $? 

यह एक स्थिति दिखाएगा:

अगर यह विफल हो जाता है तो यह एक संदेश प्रिंट करेगा कि यह विफल क्यों हुआ

यदि यह सफल होता है तो आप केवल 0 देखेंगे

आप अपने मन में k 0 = 0k जोड़ सकते हैं

यह एक सस्ता वर्कअराउंड है लेकिन आपके सिस्टेक्टल कॉल्स के बाद आपको ठीक रिटर्न देगा।


2
&& echo $?ऐसा करने के लिए एक अजीब बात की तरह लगता है; यह प्रिंट 0या कुछ भी नहीं होगा । आप भी कह सकते हैं && echo OKया && echo Success
जी-मैन ने कहा कि 'मोनिका'

1
नहीं, यह गूंज की तरह नहीं है ठीक है। यह अंतिम कमांड के वास्तविक परिणाम को इकोस करता है। यदि यह 0 है तो यह सफल रहा। यह एक 1. हो जाएगा सफल यदि नहीं
मार्क स्टीवर्ट

1
लेकिन आप कह रहे हैं && echo $?! यदि पहली (पहली) कमांड विफल हो जाती है, तो शेल दूसरा कमांड नहीं चलाएगा (एक के बाद एक  &&), और इसलिए यह कुछ भी प्रिंट नहीं करेगा!
जी-मैन का कहना है कि 'मोनिका'

1
नहीं, जब यह विफल हो जाता है तो यह संदेश प्रिंट करेगा कि systemctl भेजता है जब सेवा शुरू नहीं होती है। बस इसे स्वयं आज़माएं यह वह काम करता है जो मैंने इसका उपयोग किया है। उदाहरण के लिए (मुझे सेवा कॉल का उपयोग करना होगा क्योंकि आरएचईएल विफल या सफलता पर आउटपुट करता है) जब कोई सेवा विफल हो जाती है तो आप मानक सिस्टेक्टल असफल आउटपुट प्राप्त करते हैं जब सेवा शुरू होती है तो आपको एक 0 मिलेगा दूसरा स्टेटमेंट चला गया (इसके बजाय परीक्षण कर सकते हैं; &&) सेवा चलती है:
मार्क स्टीवर्ट

2
मैंने यह नहीं कहा कि यह काम नहीं किया। मैंने कहा कि && echo $?काम करता है ठीक उसी रूप में && echo 0- " $?" बनाता है यह आप की तरह लग रहे और अधिक परिष्कृत से आप कर रहे हैं कुछ कर रहे हैं - और, जब तक कि आप के रूप में के रूप में अपरिष्कृत कुछ करने के लिए जा रहे हैं && echo 0, आप के रूप में अच्छी तरह से कर सकता && echo OKहै, जो वह परिणाम देगा जो प्रश्न पूछता है। ……………………………  echo 0बिल्कुल वैसा ही है echo OK? नहीं बिलकुल नहीं; 0 एक वर्ण है, जो एक अंक है, जबकि OK दो वर्ण हैं, जो अक्षर (अक्षर) हैं। ओह। … (Cont'd)
जी-मैन कहते हैं, 'मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.