繁体   English   中英

C#为什么我不能以编程方式杀死在Task Scheduler中启动的控制台程序?

[英]C# Why can I not programmatically kill a console program started in Task Scheduler?

我有一个控制台程序来运行每日批处理。 我有一个UI,可以用来更改控制台程序使用的db中的参数。

我认为能够从UI停止并启动该程序非常好,我可以做到这一点。

但是,我将控制台程序设置为使用Task Scheduler在工作日之前启动,以防机器应重新启动-至少我知道该程序将在一天开始时运行。

但是,当Task Scheduler启动它时,我无法将其杀死。 获取“访问被拒绝”。

为什么? 我该如何解决呢?

尝试使用以下方法:

private void KillProcessByProcessName(string strProcessName)
{
    foreach (Process p in System.Diagnostics.Process.GetProcessesByName(strProcessName))
        p.Kill();
}


例如:

private void btnProcessKiller_Click(object sender, EventArgs e)
{
    KillProcessByProcessName("winword");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM