python - 我怎么知道我的 python 脚本是否正在运行? (使用 Cygwin 或 Windows shell )

标签 python shell cygwin

我有一个名为 sudoserver.py 的 python 脚本,我通过以下操作在 CygWin shell 中启动它:

python sudoserver.py

我打算创建一个 shell 脚本(我还不知道我是使用 Windows shell 脚本还是 CygWin 脚本),它需要知道这个 sudoserver.py python 脚本是否正在运行. 但是,如果我在 CygWin 中执行此操作(当 sudoserver.py 正在运行时):

$ ps -e | grep "python" -i
    11020   10112   11020       7160  cons0   1000 00:09:53 /usr/bin/python2.7

Windows shell 中:

C:\>tasklist | find "python" /i
python2.7.exe                 4344 Console                    1    13.172 KB

看来我没有关于正在执行的 .py 文件的信息。我所知道的是 python 正在运行某事
CygWin 上“ps”的 -l(长)选项找不到我的 .py 文件。 /v(详细)开关也不是 tasklist
什么应该是合适的 shell(Windows 或 CygWin shell 就足够了;如果可能的话两者都可以)以编程方式查找特定 python 脚本是否正在执行?

注意:python 进程可以由另一个用户启动。甚至来自未登录 GUI shell 的用户,甚至更多的是 “SYSTEM”(特权)Windows 用户。

最佳答案

这是平台的限制。

您可能需要使用一些低级 API 来检索进程信息。你可以看看这个:Getting the command line arguments of another process in Windows

您或许可以使用 win32api 模块来访问这些 API。

(抱歉,没有 Windows PC,所以我无法试用)

关于python - 我怎么知道我的 python 脚本是否正在运行? (使用 Cygwin 或 Windows shell ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22571333/

相关文章:

svn - 基于maven2的持续集成

c++ - 在 Cygwin 中链接 Conio 函数

python - numpy 3D 数组中沿平面的最大值索引

python - 求解二叉搜索树中的下一个中序节点时遇到问题

bash - 在退出脚本之前等待后台进程完成

python - 值错误 : Unknown MS Compiler version 1900

python-3.x - 无法在cygwin上安装uwsgi

python - 有没有一种简单的方法来计算数据框中两个不同索引的交集?

python - 从 Python 解析 subprocess.call() 的输出

java - 错误: Unable to access jarfile ERROR MESSAGE