Modifizierende python-daemon-skript, stop funktioniert nicht

Ich versuche, dieses Beispiel mit einigen Eingaben von hier zu modifizieren , da ich nur die spezifische Python App als Daemon laufen lassen will, da es andere auch auf demselben Server gibt, der auf Python läuft, also willst du nicht alle Pythonenskripte töten …

Der Server führt das Amazon Linux, das ich glaube, ist CentOS.

  • Paster-Daemon wird nicht heruntergefahren, weil man keine eigene pid-Datei lesen kann
  • Welchen Unterschied macht es, wenn ich Python-Thread als Daemon setze
  • Was ist die de facto Bibliothek zur Erstellung von Python Daemons
  • Python Remote Procedure Call (ohne Fernteil)
  • Wie man Python-Daemon um meinen Code wickelt
  • Wie kann ich Celery einrichten, um eine benutzerdefinierte Initialisierungsfunktion aufzurufen, bevor ich meine Aufgaben ausführe?
  • USER="root" APPNAME="myPythonApp1" APPBIN="/usr/bin/python" APPARGS="/usr/local/sbin/app1/app.py" LOGFILE="/var/log/$APPNAME/error.log" LOCKFILE="/var/lock/subsys/$APPNAME" LOGPATH=$(dirname $LOGFILE) prog=$APPBIN start() { [ -x $prog ] || exit 5 [ -d $LOGPATH ] || mkdir $LOGPATH [ -f $LOGFILE ] || touch $LOGFILE echo -n $"Starting $APPNAME: " daemon --user=$USER "$APPBIN $APPARGS >>$LOGFILE &" RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $LOCKFILE return $RETVAL } stop() { echo -n $"Stopping $APPNAME: " pid=`ps -ef | grep '[p]ython $APPARGS' | awk '{ print $2 }'` echo $pid kill $pid sleep 1 RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $LOCKFILE return $RETVAL } 

    Start funktioniert gut, kein Problem. Wenn ich versuche zu stoppen, bekomme ich einen Fehler:

    Töten: verbrauch: kill [-s sigspec | -n signum | -sigspec] pid | Jobspec … oder kill -l [sigspec]

    Wenn ich von der Shell aus den Befehl gehe, um das pid zu bekommen, funktioniert es:

     ps -ef | grep '[p]ython /usr/local/sbin/app1/app.py' | awk '{ print $2 }' 

    Ich bekomme das Praktische so was fehlt mir …?

    Vielen Dank im Voraus!

  • HDF5-Header fehlen bei der Installation von netCDF4-Modul für Python
  • Speichern von numpy sparse Matrix in HDF5 (PyTables)
  • Python HDF5 H5Py Probleme beim Öffnen mehrerer Dateien
  • Python-Pandas Lesen von spezifischen Werten aus HDF5-Dateien mit read_hdf und HDFStore.select
  • Hdf5 fehler wenn format = tabelle, pandas pytables
  • Wie lese / schreibe ich in eine Untergruppe mit einem HDF5Store?
  • One Solution collect form web for “Modifizierende python-daemon-skript, stop funktioniert nicht”

    Sie verwenden Single-Anführungszeichen in Ihrem grep Ausdruck:

     grep '[p]ython $APPARGS' 

    In einfachen Anführungszeichen wird eine Variable nicht erweitert. Sie sollten doppelte Anführungszeichen verwenden:

     grep "[p]ython $APPARGS" 
    Python ist die beste Programmiersprache der Welt.