这可能是一个愚蠢的问题,但是,在使用python多处理模块时,有没有办法编辑与派生子进程关联的进程名称?你知道吗
这样做的目的是能够使用命令行实用程序top
或ps
来检查哪些子进程仍在运行并且可能已挂起。比如说我有一个剧本叫MyScript.py文件它启动n个子进程,然后使用top,最好看到以下进程:
MyScript.py
MyScript.py <tag1>
Myscript.py <tag2>
...
Myscript.py <tagn>
而不仅仅是
MyScript.py
MyScript.py
MyScript.py
...
MyScript.py
您可以做的(尽管它看起来有点不太正常)是通过^{} 启动进程,如下所示:
然后,当看到
-tag
参数时,需要调整__main__
以分支到正确的函数。这似乎有些过分,因为在Linux上,子进程只是一个fork()
,不会重新解释python文件等,但在Windows上,多处理就是这样工作的。你知道吗不可以。Python无法控制出现在“top”命令输出中的进程名称。这是由操作系统管理的。你知道吗
如果您使用的是
multiprocessing.Process
类,那么进程ID在对象的PID属性中可用,因此您可以将其打印出来并与top的输出交叉引用。或者您可以让您的程序使用subprocess模块调用top并过滤输出,以便仅为您提供相关的输出。你知道吗相关问题 更多 >
编程相关推荐