C#如何杀死一个入门过程?

时间:2011-04-05 11:25:04

标签: c# asp.net process

我在ASP.NET中开发了一个网页 - 该页面有一个按钮,可以在点击时启动DOS程序。

以下是代码:

if (!String.IsNullOrEmpty(endTime))
{
    Process p = new Process();
    p.StartInfo.WorkingDirectory = Server.MapPath("~/");
    p.StartInfo.FileName = Server.MapPath(apiFile);

    try
    {
        p.Start();
    }
    catch
    {
        throw new Exception(
            "Requested process (" + p.StartInfo.FileName + ") could not be started. Page: Api.aspx.cs, Method: UploadBtn_Click()");
    }

    System.Threading.Thread.Sleep(5000);

    Response.Redirect(Request.Url.ToString());
}

代码工作正常并启动Process。

现在问题:

我点击按钮,进程开始(我在数据库中看到这个),程序运行正常,但是,我想现在停止进程,但不知道如何。

没有DOS窗口,我可以点击“CTRL + C”或其他东西。

我该怎样做才能停止这个过程?

哪个用户用于启动流程?

2 个答案:

答案 0 :(得分:6)

只需使用Process.Kill

p.Kill();

<强>更新
由于你的评论,我提供了另一种选择:
要终止没有代码的进程,请使用任务管理器(使用CTRL + SHIFT + ESC或CTRL + ALT + DEL - >任务管理器打开它),导航到“进程”选项卡,选择“显示所有用户的进程” ,选择您的流程,然后点击“结束流程”...

答案 1 :(得分:0)

您可以将Process对象存储为页面类下的字段,然后使用另一个按钮调用。但在这种情况下,您将只能容纳一个进程,并且应该考虑如何只运行一个进程。