프로세스를 여러 번 실행해야합니다. 매번 Process
및 ProcessStartInfo
의 개체를 구현하는 정적 메서드를 호출합니다. ProcessStartInfo
속성이 오류 또는 출력을 반환하도록 수정되었습니다. 내부 정적 메서드를 호출 할 수 있습니까 Parallel.For
루프? 이 스레드 안전에 관한 문서를 찾을 수 없습니다. 이 아니라 동일한 프로세스 내에서을 스레드를 분리 프로세스 별도의 경우스레드 안전 다중 프로세스
public static void Run(string item1, string item2, string item3, string item4)
{
var ProcInfo = new ProcessStartInfo(Program.exe,(item1+item2+item3+item4));
ProcInfo.CreateNoWindow = true;
ProcInfo.UseShellExecute = false;
ProcInfo.WorkingDirectory = Environment.CurrentDirectory;
ProcInfo.RedirectStandardError = true;
var process = Process.Start(ProcInfo);
process.WaitForExit();
string error = process.StandardError.ReadToEnd();
int exitCode = process.ExitCode;
Console.WriteLine("error>>" + (String.IsNullOrEmpty(error) ? "(none)" : error));
Console.WriteLine("ExitCode: " + exitCode, "ExecuteCommand");
process.Dispose();
}
해당 코드를 추가하십시오. – nmat
코드를 게시하십시오. 귀하의 전화를 멈추게하는 것은 거의 없습니다 (합리적인 것이 든 다른 것이 든간에). 그러나 코드를 보지 않고는 확신 할 수 없습니다. –
'ProcessInfo' 클래스 란 무엇입니까? 'System.Diagnostics'에는 그런 것이 없습니다. 학급의 문서를보십시오. (예 : http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx). 맨 아래의 "스레드 안전성"에서 "이 형식의 모든 공용 정적 (Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수 있습니다." –