Wer*_*mus 1 c c++ powershell winapi
在Unix/Linux环境中,很容易确定程序是否由于信号中断(sigterm)而退出,以及是哪个信号中断。
可以确定(以编程方式使用 API 或退出代码)Windows 程序是否因信号(sigkill,以 powershell 为例)而退出?
Windows 有“很多很多”错误代码,我想知道哪些错误代码仅与进程管理相关。
亲切的问候,
不,没有,因为 Windows 没有信号。使用 API 终止进程TerminateProcess。
TerminateProcess所有调用者都会传递退出代码,但没有记录 powershell 或任务管理器将其设置为的值。
Windows 没有定义任何进程退出代码,应用程序可以使用它想要的任何退出代码。没有要检查的“流程管理错误代码”。
直接回答您的问题:
用户是否可以通过任务管理器或 powershell 等方式终止应用程序?
是的。kill您可以从任务管理器、powershell 使用或Stop-Process使用taskkill命令行来终止进程。
如果应用程序没有响应并且操作系统终止了该应用程序,那么它的退出代码是什么?
对此没有保证的退出代码。Windows 可能会将其设置为某个值,但这是一个实现细节,并且可以在不同版本的 Windows 之间进行更改。