Process.start() - ausgeführtes Programm hängt, C# auch

15/07/2008 - 16:33 von Sven W. | Report spam
Hallo zusammen,

ich habe folgendes Problem. Ich führe über eine Schleife eine Reihe von
Programmen mittels "process.start(startInfo)" aus. Ein paar Programme bleiben
hàngen (0% Prozessorauslastung) und werden nicht beendet. Dementsprechend
bleibt die Anweisung "waitforexit()" auch hàngen.

Kann ich irgendwie prüfen, ob sich ein ausgeführter Prozess in einer
Endlosschleife befindet.. seine CPU Auslatung = 0% ist ?

Grüße
Sven

code
ProcessStartInfo startInfo = new ProcessStartInfo();

startInfo.FileName = strFilename;
startInfo.Arguments = @strParameters;
startInfo.WorkingDirectory = @strWorkDir;
startInfo.CreateNoWindow = true;
startInfo.ErrorDialog = true;
startInfo.RedirectStandardOutput = true;

startInfo.UseShellExecute = false;
startInfo.RedirectStandardError = true;

Process process;


process = Process.Start(startInfo);
process.WaitForExit();

if (process.ExitCode == 0)
{
bReturn = true;
}
 

Lesen sie die antworten

#1 Frank Dzaebel
15/07/2008 - 16:43 | Warnen spam
Hallo Sven,

Kann ich irgendwie prüfen, ob sich ein ausgeführter Prozess in einer
Endlosschleife befindet.. seine CPU Auslatung = 0% ist ?



Die CPU-Auslastung kannst Du messen,
aber das sind alles keine (sicheren)
Gründe für eine Endlosschleife.

Arbeite z.B. einfach asynchron und
lass ggf. den User mit einem [Cancel] Button
entscheiden:

[Solve package errors in VS2005 help window]
http://dzaebel.net/FSnapView.htm


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen