execit by fbrubacher
Language: C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | protected static int ExecIt(String app, String args) { ToLog(" Executing: " + app + " " + args); string CurrentPath = Environment.GetEnvironmentVariable("PATH"); int iResultCode = -1; try { Process process1 = new Process(); process1.StartInfo.FileName = app; process1.StartInfo.Arguments = args; process1.StartInfo.UseShellExecute = false; process1.StartInfo.EnvironmentVariables.Remove("HOME"); process1.StartInfo.EnvironmentVariables.Remove("USERNAME"); process1.StartInfo.EnvironmentVariables.Remove("PATH"); process1.StartInfo.EnvironmentVariables.Add("HOME", RsyncPath); process1.StartInfo.EnvironmentVariables.Add("USERNAME", "mpibackup"); process1.StartInfo.EnvironmentVariables.Add("PATH", RsyncPath + ";" + CurrentPath); process1.Start(); process1.WaitForExit(ExecItTimeOut); if (!process1.HasExited) { process1.CloseMainWindow(); System.Threading.Thread.Sleep(RsyncSleepMilliseconds); process1.Kill(); ToLog(" Killed:" + app + ". Returning -1 as exit code."); } else { iResultCode = process1.ExitCode; ToLog(" ExecIt Completed with a completion code of " + iResultCode); } } catch (Exception e) { ToLog("ERROR: ExecIt: " + e.ToString()); } return iResultCode; } |