使用命令行终止windows的进程

2022-03-25  乐帮网

c# windows netcore

在windows系统中使用命令行启动一个net core程序如下:dotnet master.Server.dll 但是如果我想把这一个进程给终止呢?如果在C#中我们可以这样启动一个程序:

 System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
            startInfo.FileName = "dotnet";
            startInfo.Arguments = @"d:/pmd/dts.master.Server.dll";
            startInfo.WorkingDirectory ="d:/pmd/";
            startInfo.UseShellExecute = false;
            startInfo.RedirectStandardInput = false;
            startInfo.RedirectStandardOutput = false;
            startInfo.RedirectStandardError = false;
            startInfo.CreateNoWindow = true;
            startInfo.EnvironmentVariables.Add("ASPNETCORE_ENVIRONMENT", "Production");

            var hostProcess = System.Diagnostics.Process.Start(startInfo);

使用hostProcess..Close(); 或者 hostProcess.Kill();也无济于事,仍然会发现程序文件被占用,唯有命令行可拯救世界。对于其它情况也同样适用。
下面介绍如何使用命令行杀死dotnet 进程。说到这里可参考一下官方文档

https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/taskkill

典型使用如下:

1、按PID终止进程

taskkill /pid 1230 /pid 1241 /pid 1253

2、终止指定名称的进程

taskkill /F /IM notepad.exe

3、根据搜索终止相关进程

taskkill /f /FI "Modules eq master.Server.dll"

我要说的是第三种方式是十分好用的,也正是我想用的。

参考:https://stackoverflow.com/questions/53842992/force-closing-a-running-dotnet-process

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力