如何在Windows上通过CMD提示符向进程发送关机命令
我目前是一名软件开发人员,我使用了很多工具,所以我需要在完成工作后关闭所有工具。所以我用tskill命令创建了批处理文件,并列出了我使用的程序,例如如何在Windows上通过CMD提示符向进程发送关机命令,windows,command-line,batch-file,shutdown,Windows,Command Line,Batch File,Shutdown,我目前是一名软件开发人员,我使用了很多工具,所以我需要在完成工作后关闭所有工具。所以我用tskill命令创建了批处理文件,并列出了我使用的程序,例如 tskill skype tskill outlook tskill devenv tskill explorer start explorer 这有一个问题,当进程终止时,工具中的更改不会保存,例如上一个项目、打开的文件、控件的可视位置和所有其他内容。这些设置仅在关闭工具时保存,但单击每个设置确实很耗时 所以我的问题是:我可以向软件发送关机命令
tskill skype
tskill outlook
tskill devenv
tskill explorer
start explorer
这有一个问题,当进程终止时,工具中的更改不会保存,例如上一个项目、打开的文件、控件的可视位置和所有其他内容。这些设置仅在关闭工具时保存,但单击每个设置确实很耗时
所以我的问题是:我可以向软件发送关机命令而不是终止进程吗?
注意:我需要CMD命令,而不是编程解决方案,正如我上面提到的,我需要类似“tskill skype”的命令,它可以终止skype进程。Windows可以发送此命令,因为当您关闭Windows时,Windows正在向所有正在运行的程序发送关闭命令。但若不能关机,那个么windows会像我上面所做的那个样终止进程
提前感谢。在Windows 7上测试:
taskkill /IM notepad.exe
请注意,您必须指定
.exe
扩展名。我假设这就是您所需要的:它不只是终止进程,而是发送“shutdown”信号,它将显示“saveunsavechanges?”记事本和其他编辑器中的对话框。如果您的应用程序支持标准windows消息,您可以使用rmtool
对应用程序撒谎,告诉它计算机正在关闭。看
要编写脚本,您需要在之前找到流程的PID(pslist
from sysinternals提供信息,但需要解析结果)
如果他们没有完全关闭,就像windows关闭时做的那样:使用rmtool让他们所有人都很好地退出,然后30秒后杀死所有仍然站着的人(对于outlook和devenv,它甚至可能有点短……。我认为通过一些windows自动化脚本语言(如AutoitYes)这样做可能更好,我也可以开发应用程序来为我做到这一点,但事实并非如此,我需要批处理文件,简单可以复制,不难执行。。。但是谢谢你的建议。很好,我需要它用于Windows7,这是正确的答案。谢谢,伙计。你也可以添加/F标志来强制终止进程。