Visual Studio 2010C#
是否可以从命令行运行和关闭程序?我需要做这样的事情:
myProgram.exe -start
-- do something --
myProgram.exe -stop
我知道如何实现第一部分(主要中的 String[] 参数(,但我如何关闭正在运行的程序?
编辑
myProgram.exe正在处理一些UDP通信,并且必须在执行内容(执行某些操作(时执行。很抱歉哔哔不精确。
我猜您知道如何检查命令行参数并查找是否已指定停止? 下面应该可以完成这项工作。
var currentProcess = System.Diagnostics.Process.GetCurrentProcess();
var matchingProcesses = System.Diagnostics.Process.GetProcesses().Where(x => x.Id != currentProcess.Id && x.ProcessName == currentProcess.ProcessName);
foreach (var process in matchingProcesses) {
process.Kill();
}
是否可以将taskkill用于这样的事情。
即如果你想关闭我的程序.exe,你可以执行
taskkill /IM myProgram.exe
使用旨在关闭进程的命令行程序 - pskill就是这样一个程序。
pskill myProgram.exe
内置实用程序是任务杀戮:
taskkill /im myProgram.exe
- 按名称获取进程 ID
- 终止进程
正如 Fox32 在他的评论中已经提到的那样,您应该真正采用这种方法,因为在这种情况下,您的应用程序可以真正优雅地自行关闭。如果你只是简单地使用taskkill等来从外部世界杀死你的进程,你真的可能会遇到麻烦,这取决于你正在使用的资源(网络,数据库,文件等(。