सवाल कमांड लाइन से लॉन्च की गई सेवाओं को कैसे शुरू / बंद / पुनरारंभ करें?


मैं फिर से कैसे शुरू करूं, उदाहरण के लिए मेरा httpd या afpd, किसी भी मैक ओएस एक्स> = 10.5 (तेंदुए-) को चलाने के बिना, जीयूआई का उपयोग किए बिना और यहां जाएं सिस्टम प्राथमिकताएं -> साझा करना और अनचेकिंग / "वेब शेयरिंग" की जांच?

मैं डेबियन के बराबर कैननिकल की तलाश में हूं invoke-rc.d apache2 restart

संपादित करें: सवाल इस बारे में है सामान्य रूप से नियंत्रित सेवाओं को लॉन्च किया गया, विशेष रूप से अपाचे नहीं (- जो कि बस एक उदाहरण था)।


128
2017-10-26 12:21


मूल


अब तक उत्तर से, यह मानने के लिए सही है कि कोई एकल लॉन्चक्टल कमांड नहीं है पुनः आरंभ करें एक सेवा? - JS.


जवाब:


हाय लॉन्चक्टल (8) आपका दोस्त है। बस ध्यान रखें कि कुछ सेवाओं (उदाहरण के लिए sshd) कॉन्फ़िगरेशन फ़ाइल में अक्षम हैं, इसलिए आपको इसका उपयोग करने की आवश्यकता होगी -w उन्हें लोड करते समय स्विच करें। यहां एक एसएसडीडी उदाहरण है:

$ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist 

आप सेवा का उपयोग कर रोक सकते हैं unload subcommand।

$ sudo launchctl unload  /System/Library/LaunchDaemons/ssh.plist 

सेवाओं को सूचीबद्ध करने के लिए, जैसा कि आपने पहले ही अनुमान लगाया होगा 'सूची' उप-आदेश;)

मज़े करो, n


143
2017-10-26 14:00



के अतिरिक्त, launchctl list शिकायत नहीं करता है लेकिन सब कुछ नहीं दिखाता है, sudo launchctl list इसके लिए जरूरी है। - conny
ऐसा नहीं है कि यह सब कुछ नहीं दिखाता है, यह एक पूरी तरह से अलग सूची दिखाता है। जब आप दौड़ते हैं launchctl एक सामान्य उपयोगकर्ता के रूप में, यह आपके उपयोगकर्ता सत्र में चल रहे लॉन्चएजेंट को दिखाता / प्रबंधित करता है; रूट के रूप में चलाएं, यह सिस्टम-व्यापी लॉन्चडेमन्स को दिखाता / प्रबंधित करता है। - Gordon Davisson
मैं उस सूची में "com.openssh.sshd" देख सकता हूं, इसलिए मुझे लगता है कि कॉन्फ़िगरेशन "लोड" है। अब, उदाहरण के लिए कैसे आते हैं sudo launchctl start com.openssh.sshd नहीं करता कुछ भी, एक त्रुटि संदेश के साथ evan विफल नहीं है, वास्तव में कुछ भी वास्तव में कुछ भी लॉन्च? - conny
@conny यह सामान्य मामले में भ्रमित हो सकता है, हालांकि जब आप एक सेवा लिख ​​रहे हैं और आपको उदाहरण के लिए संदेह है कि स्टार्टअप पर कुछ बुरा हो रहा है, तो आप इसे एक बार लोड कर सकते हैं और समस्या को डीबग करने के लिए 'स्टॉप' / 'स्टार्ट' का उपयोग कर सकते हैं । - nayden
इसका कोई जिक्र क्यों नहीं है launchctl start <label> या launchctl stop <label>? यदि यह पहले से ही लॉन्चक्टल द्वारा शुरू किया गया है तो प्लेस्ट फ़ाइल को फिर से लोड करने की कोई आवश्यकता नहीं है (जब तक कि यह भी बदले नहीं?)। यह कष्टप्रद है कि कोई नहीं है restart या reload आदेश। किसी को भी बनाने के एकल-कमांड तरीके के बारे में पता है (उदाहरण के लिए) mongod एक कॉन्फ़िगरेशन फ़ाइल परिवर्तन उठाओ? मैं बस संतुष्ट नहीं हूँ ... stop ... && ... start ...। - Brian


sudo launchctl load -w / सिस्टम / लाइब्रेरी / LaunchDaemons/org.apache.httpd.plist


7
2017-10-26 14:20





आप क्या देख रहे हैं launchctl

SYNOPSIS
 launchctl [subcommand [arguments ...]]

DESCRIPTION
 launchctl interfaces with launchd to load, unload daemons/agents and gen-
 erally control launchd.  launchctl supports taking subcommands on the
 command line, interactively or even redirected from standard input.
 These commands can be stored in $HOME/.launchd.conf or /etc/launchd.conf
 to be read at the time launchd starts.

2
2017-10-26 13:27



लेकिन मैन-पेज पढ़ना मुझे नहीं बताता कि क्या समकक्ष है invoke-rc.d my-little-daemon restart है ... यह "job_label" को संदर्भित करता है लेकिन मुझे यह नहीं बताता कि "job_label" की सूची कैसे सूचीबद्ध करें। - conny
मुझे लगता है कि नायडेन की प्रतिक्रिया ने इसे कवर किया है। - eric.s


आप बस कर सकते हैं

sudo launchctl stop com.openssh.sshd

यदि आप पूर्ण सेवा नाम नहीं जानते हैं, तो आप कर सकते हैं

sudo launchctl list

यदि आपको अभी भी अपेक्षित सेवा नहीं मिलती है, तो रूट पहचान के बिना चलाने का प्रयास करें:

launchctl list

और आपको सेवा को लोड और लोड करने की आवश्यकता नहीं है।


2
2017-12-26 13:05



मैंने कोशिश की और अब मैं इसका उपयोग नहीं कर सकता ssh मेरे मैक से रीबूटिंग ठीक नहीं है। की जगह stop साथ में start भी ठीक नहीं है। - P i
मैंने कोशिश की और मैं अभी भी अपने मैक के लिए ssh कर सकते हैं! - Michael
@ dmitriy-apollonin यह काम नहीं करता है, आपको उपयोग करना चाहिए sudo unload /System/Library/LaunchDaemons/ssh.plist बजाय। - SebMa


sudo apachectl restart

अन्य ओएसई के साथ काम करता है साथ ही यह अपाचे का हिस्सा है।


1
2017-10-26 12:27



हालांकि विषय विशेष रूप से अपाचे का उल्लेख नहीं करता है, मुझे इस व्याख्या की उम्मीद करनी चाहिए .... मुझे खेद है, लेकिन वह नहीं था जिसे मैं ढूंढ रहा था :) - conny
ठीक है, मैंने httpd भाग को पकड़ लिया, जिसके लिए apachectl का उपयोग करना आसान संस्करण है :) - Sven♦


बस अगर आप की तलाश में हैं launchctl reload, आप अपने में खोल कार्य परिभाषित कर सकते हैं ~/.bashrc/.zshrc जैसा मैंने किया:

function lctl {
    COMMAND=$1
    PLIST_FILE=$2
    if [ "$COMMAND" = "reload" ] && [ -n "$PLIST_FILE" ]
      then
        echo "reloading ${PLIST_FILE}.."
        launchctl unload ${PLIST_FILE}
        launchctl load ${PLIST_FILE}
      else
        echo "either command not specified or plist file is not defined"
    fi
}

कमांड निष्पादन की तरह दिखता है -> lctl reload <your-plist-name>.plist


1
2017-10-12 09:21





इस नामित लिंगन के लिए एक छोटा और उपयोगी ऐप है। लिंगन फ्रीवेयर संस्करण यहां है  कभी-कभी सेवा को पुनरारंभ करना मुश्किल हो सकता है।

syslog -w

पढ़ना हालांकि मदद करता है।


0
2018-03-08 13:34





मुझे नहीं पता कि यह वही है जो आप खोज रहे हैं लेकिन आप कोशिश कर सकते हैं top एक साधारण कमांड जो मुझे काफी उपयोगी लगता है।


0
2018-04-18 19:11



लेकिन यह केवल चल रही procceses दिखाता है और मुझे नहीं लगता कि आप किसी भी शुरू / बंद / पुनरारंभ कर सकते हैं - user411190
यह आपको प्रक्रियाओं को रोकने देगा, लेकिन इतना नहीं शुरू कर देगा। - chicks