私は次のLinuxターミナルコマンドを持っています:
ps -aef | grep -v grep | grep 'TestService.exe' | awk '{print $2}'
これは、Linuxの端末から正常に動作してretreives PID
指名手配プロセスの、例えば、出力は次のようになります5532
。ただし、Mono C#
次のコードを使用してアプリケーションから上位コマンドを実行する必要があります。
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
}
};
これは(ほぼ)コマンドと同じで 、terminalから起動されますが、出力は次のとおりです。
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
ただしPID
、列、つまりプロセスのPIDのみが必要です。なぜ出力が異なるのですか?