首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进程,Kill()不工作

进程,Kill()不工作
EN

Stack Overflow用户
提问于 2016-04-16 10:46:19
回答 1查看 1.1K关注 0票数 2

我正在尝试创建一个服务,即每1000毫秒(1秒)杀死任何名为Skype的进程。我100%确定我的代码都是正确的,所有的东西都在工作,日志记录等等,但杀死进程却不是。

代码语言:javascript
复制
    private System.Timers.Timer _timer;
    protected override void OnStart(string[] args)
    {
        try
        {
            _timer = new System.Timers.Timer(100);
            _timer.Elapsed += _timer_Elapsed;
            _timer.Enabled = true;
            if (!EventLog.SourceExists("MYTESTSERVICE"))
                EventLog.CreateEventSource("MYTESTSERVICE", "MYTESTSERVICE LOG");
            //_timer.Start();
            Process[] p = Process.GetProcessesByName("Skype");
            foreach (Process proc in p)
            {

                proc.Kill();
                proc.WaitForExit();
                EventLog.WriteEntry("User Tried To Start Skype! Closed.", EventLogEntryType.Warning);

            }
        }
        catch (Exception ex)
        {
            EventLog.WriteEntry(String.Format("WcfServiceHostTest \n Exception Message: {0}\nTrace: {1}", ex.Message, ex.StackTrace), EventLogEntryType.Error);
        }
    }

我目前没有使用计时器,而是在服务启动时测试它。如果Skype正在运行,则不会终止该进程。我甚至试过记事本,它也没有杀死它。我对此做了研究,但还没有找到答案。

如有任何帮助,我们不胜感激!

  • Seb
EN

回答 1

Stack Overflow用户

发布于 2017-05-19 03:20:21

您可以使用taskkill:

代码语言:javascript
复制
Process.Start(new ProcessStartInfo
    {
        FileName = "taskkill",
        Arguments = $"/im skype.exe /f /t",
        CreateNoWindow = true,
        UseShellExecute = false
    }).WaitForExit();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36659587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档