Tag: 进程

如何在c#中使用net stop命令启动/停止服务

如何在c#中使用net stop命令启动/停止服务 Dim pstart As New ProcessStartInfo Dim path As String = Environment.GetFolderPath(Environment.SpecialFolder.System) Dim p As New Process pstart.FileName = path + “\cmd.exe” pstart.UseShellExecute = False pstart.CreateNoWindow = True pstart.WorkingDirectory = path pstart.FileName = “cmd.exe” pstart.Arguments = ” net start mysql” p.StartInfo = pstart p.Start() 我使用过程类但没有结果

C#process.start,我怎么知道这个过程是否结束了?

在C#中,我可以开始一个进程 的Process.Start(的Program.exe); 如何判断程序是否仍在运行,或者程序是否已关闭?

Foo.cmd不会输出正在处理的行(在网站上)

我在理解.NET中ProcessStartInfo类的in和out时遇到了问题。 我使用这个类来执行像FFmpeg这样的.exe程序,没有任何问题。 但是,当我使用ProcessStartInfo启动.cmd程序时,就像只包含@echo Hello world的简单foo.cmd一样,它不会输出任何东西。 ProcessStartInfo oInfo = new ProcessStartInfo(@”C:\Program Files (x86)\itms\foo.cmd”) { UseShellExecute = false, RedirectStandardError = true, RedirectStandardOutput = true, CreateNoWindow = true }; using (Process p = new Process()) { p.StartInfo = oInfo; p.OutputDataReceived += new DataReceivedEventHandler(transporter_OutputDataReceived); p.Start(); p.BeginOutputReadLine(); p.WaitForExit(); } private void transporter_OutputDataReceived(object sender, DataReceivedEventArgs e) { Response.Write(e.Data + ” – […]

C#流程杀戮

我需要在c#中编写一个程序来启动,杀死一个应该杀死并结束自身的进程\ exe。 我需要杀死的进程是另一个C#应用程序,所以它是一个本地用户进程,我知道exe的路径。

如何将一系列命令发送到命令窗口进程?

我们的网络路径上有一些命令(批处理文件/可执行文件),我们必须调用它来初始化该命令窗口的“开发环境”。 它设置了一些环境变量,向Path添加了东西等等。(然后,只有我们输入的任何工作命令都会被识别,我不知道那些初始化命令内部的内容) 现在我的问题是,我想使用C#程序调用一系列“工作命令”,当然,只有初始设置完成后它们才能工作。 我怎样才能做到这一点? 目前,我正在从程序中创建一个批处理文件,例如: file.Writeline(“InitializationStep1.bat”) file.Writeline(“InitializeStep2.exe”) file.Writeline(“InitializeStep3.exe”) 然后是实际的命令 file.Writeline(“Dowork -arguments -flags -blah -blah”) file.Writeline(“DoMoreWork -arguments -flags -blah -blah”) 然后最后关闭文件编写器,并运行此批处理文件。 现在如果我使用Process.RunStart(“cmd.exe”,”Dowork -arguments”);直接执行它Process.RunStart(“cmd.exe”,”Dowork -arguments”); 它不会运行。 如何以更干净的方式实现这一点,以便我只需要运行一次初始化命令? (我每次使用所有三个初始化程序都可以运行cmd.exe ,但是它们需要花费很多时间,所以我只想做一次)

如何一次异步读取标准输出流和标准错误流

我想在控制台中读取表单中的进程输出(标准输出与一个流中的标准错误混合)。 有办法怎么做? 我正在考虑使用 ProcessStartInfo.UseShellExecute = true; 但后来我无法异步读取输出。 如果我订 process.ProcessStartInfo.UseShellExecute = false; process.StartInfo.RedirectStandardOutput = true; process.OutputDataReceived += new DataReceivedEventHandler(partialOutputHandler); 然后我可以读取标准输出(我可以做同样的标准错误)但我不知道如何模拟控制台的行为(混合stdout和stderr)。 注意:我知道Linux具有将标准错误流重定向到标准输出流的function,但我无法将其用于.NET。 我必须错过一些非常简单的事情 谢谢!

如何在没有“进程退出”exception的情况下杀死进程?

我使用Process.Kill()来杀死进程。 像这样: if( !process.WaitForExit( 5000 ) ) { process.Kill(); } 有时进程将在行之间退出,因此if Kill将导致exception,则控制将进入内部: System.InvalidOperationException Cannot process request because the process (ProcessIdHere) has exited. at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited) at System.Diagnostics.Process.Kill() //my code here 现在将代码包装到try-catch中似乎不是一个好主意,因为可以出于其他原因调用InvalidOperationException 。 有没有办法在所描述的场景中杀死进程而不会出现exception?

c#计算特定应用程序的CPU使用率

我试图弄清楚如何获取特定进程的CPU使用率,但只能找到与整体 CPU使用率相关的信息。 有谁知道如何以特定应用程序的百分比方式提取当前CPU使用率?

以管理员身份运行cmd和命令?

这是我的代码: try { ProcessStartInfo procStartInfo = new ProcessStartInfo( “cmd.exe”, “/c ” + command); procStartInfo.UseShellExecute = true; procStartInfo.CreateNoWindow = true; procStartInfo.Verb = “runas”; procStartInfo.Arguments = “/env /user:” + “Administrator” + ” cmd” + command; ///command contains the command to be executed in cmd System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo = procStartInfo; proc.Start(); } catch (Exception ex) […]

如何通过提供正在运行的进程名称来获取窗口句柄?

如果进程名称或窗口标题在c#中给出,我怎样才能获得窗口句柄