除了任务管理器之外,还有其他方法停止 Windows 应用程序吗?

除了任务管理器之外,还有其他方法停止 Windows 应用程序吗?

我有一个 .Net Windows 应用程序,它不断运行并处理数据。我偶尔会遇到问题,因为用户无意中运行了 2 个实例。我添加了代码来阻止第二个实例运行。我通常自己通过“任务管理器”>“结束进程”来停止它。有没有比这更好的终止程序的方法?最好是可以放入任务计划程序中以便每晚运行。

答案1

有一对鲜为人知的命令行程序可以执行任务管理器的功能,tasklist以及taskkill。使用/im开关指定进程名称。

答案2

您已确定了希望应用程序能够执行的与进程管理相关的几项操作。您还提到希望实现高度自动化(您希望定期自动终止它)。为此,您将使用“计划任务”。

我建议你最好先使用“任务计划程序”。你可以将其设置为按你喜欢的方式运行。然后,你只需调用“计划任务”即可,而不是调用应用程序。这将为你带来很多好处。其中最重要的是,它是一个完全实现的 GUI,任何系统管理员都可以轻松配置以满足他们的确切需求(他们很可能已经习惯了)。

即使您的应用程序的单实例部分也可以单独使用“计划任务”来完成(但同时使用两种方式可能会更好;以确保没有人可以简单地复制任务并运行它来绕过规则)。

实例处理

使用带圆圈的下拉菜单,您可以选择应用程序如何回收其进程。图中未显示的选项Stop the new Instance是您现在对代码执行的操作。不同之处在于,此设置特定于任务;而不是整个应用程序(这可能不够好)。

如果您选择了“允许按需运行任务”复选框,那么您可以像这样从命令行运行您的任务:

schtasks /Run /TN "task name"

如果你想结束它,请使用:

schtasks /End /TN "task name"

一旦设置完成,计划任务也可以轻松导出到其他系统。Right click单击任务并选择Export...何时开始工作。稍后可以使用进口...命令:

schtasks /Create [/S <system> [/U <username> [/P [<password>]]]] /XML <xmlfile> /TN <taskname> 

我们只看了其中的几个可用选项你在这里拥有。你永远不知道人们将来会如何使用你的应用程序,这让你可以免费获得很多功能。你可能想要安排这个,或者你可能更喜欢手动运行它。这取决于你(最终也取决于最终用户;这通常是一件好事)。

相关内容