C#windows服务运行taskkill.exe

时间:2013-07-02 12:11:59

标签: c# .net batch-file windows-services taskkill

我有C#服务,它使用FileSystemWatcher并调用相关命令(例如批处理文件)。其中一个批处理文件需要终止正在运行的程序,复制一些文件并再次启动程序。 Taskkill用于摆脱程序。

调用批处理文件,但taskkill命令永远不会终止进程(例如用户已打开的notepad.exe)。如果我在以该用户身份登录时运行它,则同一个批处理文件可以正常工作。

我尝试将该服务作为登录用户帐户(与打开记事本的帐户相同)运行无效 - 默认为本地系统。

我无法对用户名进行硬编码(不过我在想模拟的配置,但有点不愿意存储用户的密码)。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

也许,值得删除,也许不是。 本地系统能够使用taskkill.exe上的/ F(强制)开关来终止进程

答案 1 :(得分:0)

作为本地服务运行始终具有最高权限,请尝试taskkill / f强制终止它。但是,如果仍然失败,请通过%errorlevel%

检查错误代码