哪个进程杀死了我的进程

哪个进程杀死了我的进程

我的一个应用程序启动了java.exe,但在此期间,“java.exe”被其他进程终止。

我如何知道哪个进程终止了 java.exe。我正在使用 Windows XP SP 2。

答案1

tl;dr:使用 gflags.exe 和 Windows 的事件查看器启用并检查静默进程退出日志。

安装 Windows 的调试工具

默认情况下,工具安装到 C:/Program Files (x86)/Windows Kits

找到适合您的应用程序的 gflags 版本

如果使用默认安装路径,32 位 gflags 位于 C:/Program Files (x86)/Windows Kits/10/Debuggers/x86,64 位位于 C:/Program Files (x86)/Windows Kits/Debuggers/x64

启用日志记录Enable Logging

  • 运行适合该应用程序的 gflags.exe 版本并切换到“静默进程退出”选项卡;
  • 在“图像”字段中输入进程的图像名称。在本例中为“java.exe”;
  • 按下 tab 键以便 gflags 选择图像并刷新选项字段;
  • 启用静默退出监控;
  • 如果您希望在进程退出时收到通知,请启用通知;
  • 如果您确定程序不会自行退出,请启用忽略自行退出(我不建议您一开始就启用它。仅在后续测试中启用它);
  • 按“OK”保存设置并关闭 gflags。

现在,每当应用程序被终止时,都应记录一个事件。您可以在 Windows 的事件查看器中查看事件。按 Windows 键打开开始菜单,输入“事件”,它就会弹出。

打开后,在右侧导航到事件查看器 > Windows 日志 > 应用程序。双击事件并转到“详细信息”选项卡。它应该可以帮助您确定是什么终止了您的进程。

相关内容