Killing Ich habe Raspbian als die Linux-Distribution auf meinem RPI läuft. Ich habe einen kleinen Socket-Server mit twisted eingerichtet und er empfängt bestimmte Befehle von einer iOS App. Diese Befehle sind Zeichenfolgen. Ich habe einen Prozess gestartet, als ich "st" erhielt und jetzt möchte ich es töten, wenn ich "sp" bekomme. Dies ist die Art, wie ich versuchte:Einen Prozess in einem Python-Skript unter Linux
- Importierte OS
- Gebrauchte os.system ("... ") // Prozess
- os.system zu starten (" ...") // zu Kill-Prozess
Sagen wir, der Dienst heißt xyz. Das ist genau so, wie ich es zu töten versucht:
os.system ('ps axf | grep xyz | grep -v grep | awk '{print "töten" $ 1}' | sh')
Aber ich habe einen Syntaxfehler bekommen. Diese Zeile läuft perfekt, wenn ich es separat im Terminal ausprobiere. Ist das ein falscher Weg, dies in einem Python-Skript zu tun? Wie repariere ich es?
Die Pipeline ist ein Sammelsurium von Shell-Programmierung Antipatterns. Sie wollen 'pkill' oder zumindest eine richtig geschriebene Reimplementierung. Siehe auch [nutzloser Gebrauch von 'grep'] (http://www.iki.fi/era/unix/award.html#grep). – tripleee