Kann ich die folgenden Piped-Befehle über System.Diagnostics.Process
ausführen?Ausgeführte Piped-Befehle über System.Diagnostics.Process on Mono
Ich habe versucht, den Dateinamen zu "/ bin/bash", mit den oben genannten als Argumente, ohne Erfolg.
...
var processStartInfo = new ProcessStartInfo { FileName = "/bin/bash", Arguments = "echo \"test\" | sudo -S shutdown -r +1" };
process.StartInfo = processStartInfo;
...
Es funktioniert auf Linux. Vielen Dank. –
Diese Methode macht Ihr root-Passwort verfügbar, da es einen Prozess wie "/ bin/bash -c Echotest | sudo -S shutdown -r +1" erzeugt. Wenn Sie also "ps aux" ausführen, kann jeder es sehen oder sich anmelden es. –
Ja, es wird das Passwort des Benutzers verfügbar machen, und es ist ein wenig sinnlos, echo zu verwenden, wenn Sie selbst in die Pipe schreiben können. – Jester