Dienste - einer geht, der andere nicht... [Gelöst]

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Dienste - einer geht, der andere nicht... [Gelöst]

Beitrag von jmar83 » 10.04.2019 16:12:45

Hallo zusammen

Dieser Dienst geht mit service dienstname start/stop:

Code: Alles auswählen

#!/bin/sh
# description: Start or stop the watchinsect
# Added by XYZ

### BEGIN INIT INFO
# Provides:             watchinsect
# Required-Start:       $ALL
# Required-Stop:        $local_fs $remote_fs
# Default-Start:        3 5
# Default-Stop:         0 1 2 6
# Short-Description:    WATCHINSECT  server
### END INIT INFO

set -e
cd /opt/XYZ


case "$1" in
'start')

        echo "Starting XYZ watching ..."

       	perl watchinsect.pl
        RETVAL=$?
     
           
        ;;
'stop')
        echo "Stopping XYZ watching ..."

        pkill -U root perl
        RETVAL=$?
        ;;
'state')
            
	cnt=`ps -ef | grep "watchinsect.pl" | grep -v grep | wc -l`
        if [ "$cnt" -eq "0" ] ; then
                echo "XYZ watching is not running"
        else
                echo "XYZ watching is running"
        fi
        ;;
*)
        echo "Usage: $0 { start | stop | state }"
        RETVAL=1
        ;;
esac
exit $RETVAL




Dieser nicht:

Code: Alles auswählen

#!/bin/sh
# description: Start or stop the XYZ state  server


### BEGIN INIT INFO
# Provides:             XYZ
# Required-Start:       $ALL 
# Required-Stop:        $local_fs $remote_fs $XYZ_devstate $practisync
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    XYZ  server
### END INIT INFO

set -e
cd /opt/XYZ


case "$1" in
'start')

       	cnt=`ps -ef | grep "XYZ_master" | grep -v grep | wc -l`
        if [ "$cnt" -eq "0" ] ; then
                echo "starting XYZ service..."
 		./XYZ_master
        else
                echo "XYZ is already started..."
        fi
	RETVAL=$?
        ;;
'stop')
        echo "Stopping XYZ service..."
        killall  XYZ_master
        cnt1=`ps -ef | grep "XYZ_master" | grep -v grep | wc -l`
        if [ "$cnt1" -eq "0" ] ; then
                echo "XYZ is stopped"
        else
                killall -9 XYZ_master
                echo "XYZ is stopped (-9)"
        fi
        RETVAL=$?
        ;;
'restart')
        echo "Stopping XYZ service..."

        cnt2=`ps -ef | grep "XYZ_master" | grep -v grep | wc -l`
        if [ "$cnt2" -eq "0" ] ; then
              echo "XYZ is stopped"
        else
              killall  XYZ_master
              cnt3=`ps -ef | grep "XYZ_master" | grep -v grep | wc -l`
              if [ "$cnt3" -eq "0" ] ; then
                    echo "XYZ is stopped"
              else
                    killall -9 XYZ_master
                    echo "XYZ is stopped (-9)"
              fi
        fi
        echo "Starting XYZ service..."
        ./XYZ_master
        RETVAL=$?
        ;;
'restart_noscan')
        echo "Stopping XYZ service..."

        cnt2=`ps -ef | grep "XYZ_master" | grep -v grep | wc -l`
        if [ "$cnt2" -eq "0" ] ; then
              echo "XYZ is stopped"
        else
              killall  XYZ_master
              cnt3=`ps -ef | grep "XYZ_master" | grep -v grep | wc -l`
              if [ "$cnt3" -eq "0" ] ; then
                    echo "XYZ is stopped"
              else
                    killall -9 XYZ_master
                    echo "XYZ is stopped (-9)"
              fi
        fi
        echo "Starting XYZ service..."
        ./XYZ_master -o
        RETVAL=$?
        ;;		
'state')
             
	cnt=`ps -ef | grep "XYZ_master" | grep -v grep | wc -l`
        if [ "$cnt" -eq "0" ] ; then
                echo "XYZ is not running"
        else
                echo "XYZ is running"
        fi
        ;;
*)
        echo "Usage: $0 { start | stop | state }"
        RETVAL=1
        ;;
esac
exit $RETVAL



...ich frage mich, wo da wohl der Unterschied liegt?
Zuletzt geändert von jmar83 am 09.12.2019 16:31:52, insgesamt 1-mal geändert.
Freundliche Grüsse, Jan

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Dienste - einer geht, der andere nicht...

Beitrag von jmar83 » 10.04.2019 16:18:34

Abgesehen davon findet man noch Beispiele im Internet wo mit Funktionen für start, stop, restart, state etc. gearbeitet wird...(?)
Freundliche Grüsse, Jan

pferdefreund
Beiträge: 3791
Registriert: 26.02.2009 14:35:56

Re: Dienste - einer geht, der andere nicht...

Beitrag von pferdefreund » 11.04.2019 07:20:19

Ist schon systemd im Einsatz ? Wenn ja, mal mit journalctl nachschauen, ob da ein Fehler geworfen wird.
Eventuell in die scripte mal open bei #!/bin/bash -x einbauen (Debuggen)

jmar83
Beiträge: 962
Registriert: 20.06.2013 20:20:15
Wohnort: CH
Kontaktdaten:

Re: Dienste - einer geht, der andere nicht...

Beitrag von jmar83 » 04.10.2019 18:39:52

Vielen Dank, hat sich geklärt!! :-)
Freundliche Grüsse, Jan

Antworten