【问题标题】:Determine what script/module a python instance is executing?确定 python 实例正在执行什么脚本/模块?
【发布时间】:2012-08-28 17:34:50
【问题描述】:

我正在编写一个程序来监控正在运行的 python 脚本。该脚本将有多个实例,即服务器,从计算机上的不同位置运行。我的程序将监视以查看所有被“监视”的实例是否已启动并正在运行,并将在必要时重新启动它们。

无法编辑服务器脚本。

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

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

ENV:仅限 Windows

【问题讨论】:

    标签: python process monitor


    【解决方案1】:

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

    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 一起工作。再次感谢你的帮助。我将探索我的选择。我打算暂时搁置这个问题,看看是否有其他人有想法,但如果没有,我会在一天结束前接受它!谢谢!
    猜你喜欢
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多