string fullPath = @"Z:\path\test.pl"; string arguments = arg1 + arg 2 Process myProcess = Process.Start(fullPath, arguments); myProcess.WaitForExit(999); if(!myProcess.HasExited) { myProcess.Kill(); throw new Exception("Timed out while running process"); }