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.

  • Was wäre der einfachste Weg, um ein Python-Skript in Linux zu dämonisieren?
  • Kind Unterprozeß im Python-Dämon töten
  • Running Python im Hintergrund auf OS X
  • Tornado Python als Dämon
  • Wie man Daemon-Prozess von Python auf Windows starten?
  • Python-Thread-Daemon-Eigenschaft
  • 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!

  • GIL für IO beschränkten Thread in C-Erweiterung (HDF5)
  • Wie kann ich einen in Pandas gespeicherten Datenrahmen als HDF5-Datei in R laden?
  • TypeError: read_hdf () nimmt genau 2 Argumente (1 gegeben)
  • Anhängen von Spalte an Frame von HDF-Datei in Pandas
  • Aktualisieren Sie die Pandas DataFrame in einem Pytable mit einem anderen Pandas DataFrame
  • Exportieren von / importieren zu numpy, scipy in SQLite und HDF5 Formate
  • 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.