सवाल लिनक्स (उबंटू) पर स्वचालित रूप से पर्यवेक्षक कैसे शुरू करें


पर्यवेक्षक एक init स्क्रिप्ट के साथ नहीं आता है या यह संकेत नहीं करता है कि इसे स्वचालित रूप से कैसे शुरू किया जाए, यानी। एक रिबूट के बाद। मैंने कुछ उपयोगकर्ता द्वारा योगदान /etc/init.d स्क्रिप्ट का प्रयास किया है, लेकिन वे सभी असफल हो जाते हैं।

पसंदीदा समाधान क्या होगा?


38
2017-12-21 22:46


मूल


आपका मतलब "असफल" कैसे है? btw; यह सवाल सर्वरफॉल्ट पर संबंधित प्रतीत होता है। - erenon
डेबियन स्थिर इनिट स्क्रिप्ट काम कर रहा है, इसलिए मुझे लगता है कि यह सवाल पुराना है।


जवाब:


दरअसल, मुझे वह मिल गया जो यहां काम करता है http://gist.github.com/176149। इसे स्थापित करने के लिए:

sudo curl https://gist.github.com/howthebodyworks/176149/raw/88d0d68c4af22a7474ad1d011659ea2d27e35b8d/supervisord.sh > /etc/init.d/supervisord

इसे चलाने के लिए

sudo chmod +x /etc/init.d/supervisord

और इसे स्वचालित रूप से शेड्यूल करने के लिए, करें

sudo update-rc.d supervisord defaults

/Etc/supervisord.conf में सही पिड सुनिश्चित करें जिसे /etc/init.d/supervisord में मैप किया गया है

example: pidfile=/var/run/supervisord.pid

रोकें और ठीक से काम शुरू करें

service supervisord stop
service supervisord start

40
2017-12-21 22:56



यह डेबियन विशिष्ट है? एक Centos6.5 बॉक्स पर / lib/init/vars.sh और अद्यतन-rc.d गुम है - EoghanM
हम कैसे जानते हैं कि supervisord.conf कहाँ जाता है? / हमें supervisord.conf कहां रखना चाहिए? - Weiwei
मैंने पाया कि डेबियन निचोड़ रेपो से पर्यवेक्षक स्थापित करना बहुत आसान था - योग्यता स्थापित पर्यवेक्षक में लिंक के साथ /etc/init.d फ़ाइल का सही सेटअप शामिल है, और config फ़ाइल को /etc/supervisor/supervisord.conf में डालता है - RichVel
@RichVel यह एक अल्फा संस्करण है, इसमें कई कीड़े हैं। हो सकता है कि उनमें से अधिकतर आपके सिस्टम को प्रभावित न करें, लेकिन आप सुनिश्चित नहीं हो सकते हैं, और नवीनतम रिलीज नहीं होने से आप किसी भी क्षण में काट सकते हैं। स्रोत रेपो की जांच करें और आप देखेंगे कि 3.0a8 और 3.0b2 संस्करणों के बीच 320 से अधिक प्रतिबद्ध हैं github.com/Supervisor/supervisor/compare/3.0a8...3.0b2 - glarrain
@glarrain - हेड-अप और तुलना लिंक के लिए धन्यवाद ... यह एहसास नहीं हुआ - डेबियन पैकेजर ने अल्फा रिलीज लिया। निश्चित रूप से डेबियन स्थिरता का बिंदु केवल सिद्ध संस्करणों का उपयोग करना है ... - RichVel


मैंने उबंटू 9 .10 के लिए अपस्टार्ट स्क्रिप्ट बनाई है

उदाहरण के लिए मैंने वर्चुअल वातावरण में पर्यवेक्षक स्थापित किया, फिर शुरू करें और नियंत्रण करें अपस्टार्ट से पर्यवेक्षक।

एक टेक्स्ट फ़ाइल /etc/init/supervisord.conf बनाएं

सामग्री हैं:

description     "supervisord"

start on runlevel [345]
stop on runlevel [!345]

expect fork
respawn

exec /misc/home/bkc/Python_Environments/java2/supervisord/bin/supervisord -c /misc/home/bkc/Python_Environments/java2/supervisord/work/supervisord.conf

यह बूट पर पर्यवेक्षक स्वचालित रूप से शुरू हो जाएगा। .Conf फ़ाइल बनाने के बाद मैन्युअल रूप से प्रारंभ करने के लिए, उपयोग करें

सुडो शुरू पर्यवेक्षक

सेवा को मैन्युअल रूप से रोकने के लिए, उपयोग करें

सुडो स्टॉप पर्यवेक्षक


13
2018-02-22 03:07



धन्यवाद! यहां एक लाइनर है: curl -L https://gist.github.com/raw/1213031/929e578faae2ad3bcb29b03d116bcb09e1932221/sup‌​ervisord.conf > /etc/init/supervisord.conf && start supervisord (आपको रूट होना चाहिए) - charlax
उन्हें चलाने से पहले हमेशा एक-लाइनर की जांच करें। यह ठीक है, लेकिन मैं बस उस टिप को जोड़ना चाहता था। - Cory Walker


यही वह है जो मैं आरएचईएल 5.4 और सेंटोस 5.5 पर उपयोग करता हूं

मुझे यकीन नहीं है कि यह मेरे supervisord.conf में कुछ विन्यास सेटिंग्स के आधार पर गीला है। लेकिन ऐसा लगता है कि ठीक है।

इसे स्थापित करने के बाद आपको निम्न आदेश चलाने की आवश्यकता है

chkconfig --add supervisord

[/Etc/rc.d/init.d/supervisord]

#!/bin/sh
#
# /etc/rc.d/init.d/supervisord
#
# Supervisor is a client/server system that
# allows its users to monitor and control a
# number of processes on UNIX-like operating
# systems.
#
# chkconfig: - 64 36
# description: Supervisor Server
# processname: supervisord

# Source init functions
. /etc/rc.d/init.d/functions

prog="supervisord"

prefix="/usr/"
exec_prefix="${prefix}"
prog_bin="${exec_prefix}/bin/supervisord"
PIDFILE="/var/run/$prog.pid"

start()
{
        echo -n $"Starting $prog: "
        daemon $prog_bin --pidfile $PIDFILE
        [ -f $PIDFILE ] && success $"$prog startup" || failure $"$prog startup"
        echo
}

stop()
{
        echo -n $"Shutting down $prog: "
        [ -f $PIDFILE ] && killproc $prog || success $"$prog shutdown"
        echo
}

case "$1" in

  start)
    start
  ;;

  stop)
    stop
  ;;

  status)
        status $prog
  ;;

  restart)
    stop
    start
  ;;

  *)
    echo "Usage: $0 {start|stop|restart|status}"
  ;;

esac

12
2018-04-13 13:56



केवल यह जोड़ना होगा कि इसे चलाने से पहले आपको + x अनुमतियां जोड़ने की आवश्यकता है: chmod + x /etc/init.d/supervisord - JiminyCricket
दौड़ने के बाद मत भूलना chkconfig --add supervisord आपको इसे विभिन्न रन स्तरों के माध्यम से सक्षम करने की भी आवश्यकता है chkconfig supervisord --level 345 on - Corey Ballou


आधिकारिक पर्यवेक्षक गिटहब रेपो में एक डेबियन / उबंटू स्क्रिप्ट है:

https://github.com/Supervisor/initscripts/blob/master/debian-norrgard


5
2018-04-13 15:34



क्षमा करें, एसवीएन अब और नहीं है। क्या कोई वैकल्पिक स्थान है? - Alister Bulman
हां - यह सब गिटहब में ले जाया गया है: github.com/Supervisor/initscripts - fish2000


यह उबंटू 10.04.3 एलटीएस पर मेरे लिए काम कर रहा है। यह 8.04 में भी काम करता प्रतीत होता है:

निम्नलिखित में जोड़ें /etc/init.d/supervisord

#! /bin/bash -e

SUPERVISORD=/usr/local/bin/supervisord
PIDFILE=/tmp/supervisord.pid
OPTS="-c /etc/supervisord.conf"

test -x $SUPERVISORD || exit 0

. /lib/lsb/init-functions

export PATH="${PATH:+$PATH:}/usr/local/bin:/usr/sbin:/sbin"

case "$1" in
  start)
    log_begin_msg "Starting Supervisor daemon manager..."
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $SUPERVISORD -- $OPTS || log_end_msg 1
    log_end_msg 0
    ;;
  stop)
    log_begin_msg "Stopping Supervisor daemon manager..."
    start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE || log_end_msg 1
    log_end_msg 0
    ;;

  restart|reload|force-reload)
    log_begin_msg "Restarting Supervisor daemon manager..."
    start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $SUPERVISORD -- $OPTS || log_end_msg 1
    log_end_msg 0
    ;;

  *)
    log_success_msg "Usage: /etc/init.d/supervisor
{start|stop|reload|force-reload|restart}"
    exit 1
esac

exit 0

फिर भागो:

sudo chmod +x /etc/init.d/supervisord
sudo update-rc.d supervisord defaults

sudo service supervisord start

अन्य उत्तरों में से कोई भी मेरे लिए काम नहीं करता है।


2
2017-08-24 00:25





मैंने इस लाइन को "stop" तर्क प्रसंस्करण को ठीक करने के लिए /etc/init.d/supervisord में जोड़ा:

do_stop()
{
    /usr/local/bin/supervisorctl stop all
    /usr/local/bin/supervisorctl shutdown
    # Return
    ...

और यह मेरे लिए बहुत अच्छा काम करता है।


1
2018-02-11 16:12





पर्यवेक्षक अब उपयुक्त भंडार में प्रतीत होता है, इसलिए इसे हाथ-शिल्प init फ़ाइलों के लिए आवश्यक नहीं होना चाहिए, बस:

sudo apt-get install supervisor

आप स्थापना से पहले अपनी पुरानी फाइलों को पहले (और बैकअप) साफ़ करना चाहते हैं।


1
2018-01-22 01:28



आपको यह पता होना चाहिए कि "इनमें से कुछ पैकेज आधिकारिक रिलीज संस्करण के पीछे काफी हद तक अंतराल हो सकते हैं। उदाहरण के लिए, उबंटू 12.04 (अप्रैल 2012 को जारी) पर्यवेक्षक 3.0 ए 8 (जनवरी 2010 को जारी) के आधार पर एक पैकेज प्रदान करता है।" (पर्यवेक्षक के दस्तावेज से supervisord.org/...) - glarrain