Ich habe folgenden Linux Terminal Befehl:
ps -aef | grep -v grep | grep 'TestService.exe' | awk '{print $2}'
welche funktioniert gut von Linux-Terminal und retreives PID
vom gewünschten Prozess wird zum Beispiel ausgegeben: 5532
. Allerdings muss ich den oberen Befehl ausführen Mono C#
Anwendung mit folgendem Code:
Process proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "/bin/bash",
Arguments = string.Format("-c ps -aef | grep -v grep | grep '{0}' | awk '{{print $2}}'", p),
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = false
}
};
das ist (fast) identisch mit Befehl, vom Terminal gestartet Die Ausgabe ist jedoch:
testuser+ 2184 2160 0 11:43 pts/0 00:00:03 /usr/local/bin/mono-sgen /home/testuser/testuser/MONO/cs/src/testApp/bin/Debug/TestService.exe
aber ich brauche nur PID
Spalte, d.h. PID eines Prozesses . Warum unterscheidet sich die Ausgabe?
command-line
bash
shell
c#
mono-framework
KernelPanic
quelle
quelle