确定python实例正在执行的脚本/模块?

确定python实例正在执行的脚本/模块?,python,process,monitor,Python,Process,Monitor,我正在编写一个程序来监视python脚本的运行。此脚本的多个实例(服务器)将从计算机上的不同位置运行。我的程序将进行监视,以确保所有被“监视”的实例都已启动并正在运行,并在必要时重新启动它们 无法编辑服务器脚本 我的问题是服务器进程只是显示为python可执行文件,我无法确定特定服务器脚本在计算机上的位置 是否仍然可以确定特定python/pythonw.exe进程上实际运行的脚本?还有它的路径 ENV:Windows only您可以从命令行运行以下命令: WMIC PROCESS get Ca

我正在编写一个程序来监视python脚本的运行。此脚本的多个实例(服务器)将从计算机上的不同位置运行。我的程序将进行监视,以确保所有被“监视”的实例都已启动并正在运行,并在必要时重新启动它们

无法编辑服务器脚本

我的问题是服务器进程只是显示为python可执行文件,我无法确定特定服务器脚本在计算机上的位置

是否仍然可以确定特定python/pythonw.exe进程上实际运行的脚本?还有它的路径


ENV:Windows only

您可以从命令行运行以下命令:

WMIC PROCESS get Caption,Commandline,Processid,ExecutablePath

这将显示正在执行的模块。

非常感谢您的回复!这肯定显示了模块正在执行,但是有没有办法看到它的路径?脚本文件将是非唯一的,因此我需要确定确切的路径。@Ben您应该使用完整路径运行模块。然后,wmic将向您展示它。例如:python c:\my\python\module.py不幸的是,该模块是由一个我无法编辑的批处理脚本启动的(它是一个独立开发的独立软件)。批处理文件最终调用它类似于“c:\python27\python.exe init.py”,批处理文件与init.py位于同一目录中。有什么想法吗?再次感谢。如果有帮助,请尝试添加ExecutablePath(请参阅更新的答案)。实际上,您可以尝试检查批处理文件是否正在运行,而不是检查python解释器。ExecutablePath返回python exe位置。我可能可以使用我自己的批处理脚本,我刚刚用完整的路径测试了它的调用,它肯定可以使用WMIC。再次感谢你的帮助。我将探索我的选择。我将把这个问题留一段时间,看看是否有人有想法,但如果没有,我会在今天结束前接受它!非常感谢。