Ich versuche also, einen Prozess als Superbenutzer aus einem Python -Skript mit Subprozess auszuführen. In der ipython -Shell so etwas wie < /p>
Code: Select all
proc = subprocess.Popen('sudo apach2ctl restart',
shell=True, stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
funktioniert gut, aber sobald ich es in ein Skript stecke, bekomme ich: sudo: apach2CTL: Befehl
nicht gefunden . (Ich habe auch sudo -e apche2ctl restart und sudo env path = $ path apache2ctl restart ohne verfügbar) Ich habe nicht die Absicht, Kennwörter im Skript zu speichern. Im Python -Interpreter bekomme ich mit einer Zeichenfolge die Eingabeaufforderung des Kennworts ordnungsgemäß (funktioniert in einem Python -Skript immer noch nicht wie in meinem ursprünglichen Problem). Eine Liste gibt nur den Hilfebildschirm für sudo.
Code: Select all
proc = subprocess.Popen(['sudo','/usr/sbin/apache2ctl','restart'])
ohne 'Shell = true', um Sudo zum Laufen zu bringen.
Danke!