public void Start() { if (_isRunning) { throw new InvalidOperationException("Process already started"); } if (UtilityProcess != null) { UtilityProcess.Start(); _isRunning = true; return; } var startInfo = new ProcessStartInfo { CreateNoWindow = true, FileName = CmdLine, Arguments = Arguments, ErrorDialog = ShowErrorDialog, Verb = Verb, UseShellExecute = UseShellExecute }; UtilityProcess = Process.Start(startInfo); _isRunning = true; }
public void Kill(string processName) { var theScope = new ManagementScope("root\\cimv2"); var theQuery = new ObjectQuery(string.Format("SELECT * FROM Win32_Process WHERE Name LIKE '{0}%'", processName)); var theSearcher = new ManagementObjectSearcher(theScope, theQuery); var theCollection = theSearcher.Get(); foreach (var o in theCollection) { var theCurObject = (ManagementObject)o; theCurObject.InvokeMethod("Terminate", null); } while (!UtilityProcess.HasExited) { CheckChildProcesses(UtilityProcess.Id); Thread.Sleep(10); } UtilityProcess.Close(); }
}//public static void BCP() /// <summary>BCP.</summary> public static void BCP ( ref String filenameConfigurationXml, ref XmlNodeList xmlNodeListDatabase, ref UtilityBCPArgument utilityBCPArgument, ref ArrayList arrayListTableName, ref String exceptionMessage ) { Boolean redirectStandardOutputError = true; String BCPCommandOut; String BCPDataFile; String BCPDirectory; String BCPErrorFile; String[] databaseOwnerTableName; String dateTimeNow = DateTime.Now.ToString(FormatDate); String redirectStandardOutput = null; String redirectStandardError = null; String verb = null; StringBuilder capitalLetters; HttpContext httpContext = HttpContext.Current; arrayListTableName = new ArrayList(); if ( utilityBCPArgument.DatabaseName == null || utilityBCPArgument.DatabaseName.Length == 0 ) { utilityBCPArgument.DatabaseName = DatabaseName.Split( DelimiterCharArrayComma ); }//if ( utilityBCPArgument.DatabaseName == null || utilityBCPArgument.DatabaseName.Length == 0 ) if ( utilityBCPArgument.TableName == null || utilityBCPArgument.TableName.Length == 0 ) { utilityBCPArgument.TableName = UtilityBCP.TableName.Split( UtilityBCP.DelimiterCharArrayComma ); }//if ( utilityBCPArgument.TableName == null || utilityBCPArgument.TableName.Length == 0 ) if ( utilityBCPArgument.TableName != null && utilityBCPArgument.TableName.Length != 0 ) { foreach ( String tableNameCurrent in utilityBCPArgument.TableName ) { if ( tableNameCurrent.Trim() == String.Empty ) { continue; }//if ( tableNameCurrent.Trim() == String.Empty ) arrayListTableName.Add( tableNameCurrent ); }//foreach ( String tableNameCurrent in utilityBCPArgument.tableName ) }//if ( utilityBCPArgument.TableName != null && utilityBCPArgument.TableName.Length != 0 ) UtilityDatabase.PopulateDatabaseTable ( ref filenameConfigurationXml, ref xmlNodeListDatabase, ref utilityBCPArgument.databaseName, ref arrayListTableName, ref exceptionMessage ); capitalLetters = utilityBCPArgument.CapitalLetters(); foreach (object databaseOwnerTableNameCurrent in arrayListTableName) { databaseOwnerTableName = ((String) (databaseOwnerTableNameCurrent)).Split( DelimiterCharArrayFullStop ); BCPDirectory = String.Format ( FormatBCPDirectory, utilityBCPArgument.DirectoryDataFile.ToString(), databaseOwnerTableName[RankDatabaseNamingConventionDatabaseName], databaseOwnerTableName[RankDatabaseNamingConventionTableName] ); BCPDataFile = String.Format ( FormatBCPDataFile, BCPDirectory, databaseOwnerTableName[RankDatabaseNamingConventionTableName], dateTimeNow ); BCPErrorFile = String.Format ( FormatBCPErrorFile, BCPDirectory, databaseOwnerTableName[RankDatabaseNamingConventionTableName], dateTimeNow ); BCPCommandOut = String.Format ( FormatBCPCommandOut, databaseOwnerTableNameCurrent, BCPDataFile, BCPErrorFile, capitalLetters ); UtilityDebug.Write ( String.Format ( "BCP Directory: {0} | BCPDataFile: {1} | BCPErrorFile: {2} | BCPCommandOut: {3}", BCPDirectory, BCPDataFile, BCPErrorFile, BCPCommandOut ) ); UtilityDirectory.CreateDirectory ( ref BCPDirectory, ref exceptionMessage ); UtilityProcess.FileStart ( ref CommandBCP, ref BCPCommandOut, ref verb, ref redirectStandardOutputError, ref redirectStandardOutput, ref redirectStandardError ); }//foreach (object databaseOwnerTableNameCurrent in arrayListTableName) }//public static void BCP()