Visual Studio 2010 C#
是否可以从命令行运行和关闭程序?我需要做那样的事情:
myProgram.exe -start
-- do something --
myProgram.exe -stop
我知道如何实现第一部分(主要的String [] args)但是如何关闭正在运行的程序呢?
修改
myProgram.exe正在处理一些UDP通信,并且必须在执行某些操作时执行。抱歉,因为不精确。
答案 0 :(得分:1)
答案 1 :(得分:1)
我猜你知道如何检查命令行参数并查找是否已指定停止?以下应该做的工作。
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();
}
答案 2 :(得分:0)
答案 3 :(得分:0)
答案 4 :(得分:0)
正如Fox32在他的评论中已经提到的那样,你应该采用this approach,因为在这种情况下你的应用程序可以真正地自行关闭。如果您只是去使用taskkill等来从外部世界中杀死您的进程,您可能会遇到麻烦,具体取决于您使用的资源(网络,数据库,文件等)。