6月7日

1、获取进程信息

代码:

Process[] processes = Process.GetProcesses();

long totalMemery = 0;

StringBuilder sbResult = new StringBuilder();

foreach (Process process in processes)

{

sbResult.AppendFormat("进程{0} 占内存{1}KB约合{2}MB\n", process.ProcessName, process.PrivateMemorySize64 / 1024,

(process.PrivateMemorySize64 / 1024)/1024);

totalMemery += process.PrivateMemorySize64 / 1024;

}

string result = string.Format("进程总数 {0} 个,共占内存:{1}MB \n", processes.Length, totalMemery / 1024)

+ sbResult.ToString();

MessageBox.Show(result);

2、执行DOS或批处理命令

代码:

public static string ExecuteCommand(string dosCommand, int milliseconds)

{

string output = ""; //输出字符串

if (dosCommand != null && dosCommand != "")

{

Process process = new Process();

ProcessStartInfo startInfo = new ProcessStartInfo();

startInfo.FileName = "cmd.exe";

startInfo.Arguments = "/C " + dosCommand; //设定参数,其中的"/C"表示执行完命令后马上退出

startInfo.UseShellExecute = false; //不使用系统外壳程序启动

startInfo.RedirectStandardInput = false; //不重定向输入

startInfo.RedirectStandardOutput = true; //重定向输出

startInfo.CreateNoWindow = true;

process.StartInfo = startInfo;

try

{

if (process.Start()) //开始进程

{

if (milliseconds == 0)

process.WaitForExit(); //这里无限等待进程结束

else

process.WaitForExit(milliseconds); //这里等待进程结束,等待时间为指定的毫秒

output = process.StandardOutput.ReadToEnd();//读取进程的输出

}

}

catch (Exception ex)

{

Trace.WriteLine("Exception:" + ex.Message + "\n" + ex.StackTrace);

}

finally

{

if (process != null)

process.Close();

}

}

return output;

}

}

 

调用:

ExecuteCommand("NET STOP MSSQL$SQLEXPRESS",3*1000);//停止sqlserver服务

ExecuteCommand("NET START MSSQL$SQLEXPRESS",3*1000);//重启sqlserver服务

原文地址:https://www.cnblogs.com/gmth/p/2540687.html