我如何判断可执行文件是否已运行?

我如何判断可执行文件是否已运行?

我有一个可执行文件,我正在从第三方程序调用它。我使用具有“作为服务运行”权限的管理员帐户调用它,第三方程序日志报告可执行文件“成功”运行,运行时间为 0.000 秒(尽管第三方程序显示的开始和结束时间相差几百毫秒)。但是,可执行文件应该输出 jpg,但这并没有发生。

如果我从命令行运行可执行文件,它可以正常工作(输出 jpg - 运行时间约为 20 秒)。如果我从没有用户登录的 Windows 计划任务运行它,它可以正常工作。此外,我可以从第三方程序成功运行其他可执行文件(尝试过 notepad.exe)。

所以,我的问题是......我如何监视可执行文件以查看它是否实际运行,是否遇到权限问题等?

答案1

我使用 perfmon 并设置一个包含“所有实例”进程计数器的计数器。另外,查看 SysInternal 的进程监视器,除非您知道要查找的内容,否则它会非常冗长。例如,使用过滤器:

过程 *包含*第三方程序包括

答案2

服务帐户是否有权在适当的文件夹中进行读写和执行?

您可以手动检查权限。

答案3

进程监视器 (procmon)SysInternals/Microsoft 会向您展示各种内容。您可以让它根据进程名称进行过滤 - 这样,您就会看到它在做什么,并且(可能)看到它在哪里无法访问某些内容。

一定要确保设置过滤器——看到所有事情都在系统之外发生真是让人不知所措:)

相关内容