开发者社区 问答 正文

进程名称是通过Python设置的,但从外部看不到

我有一个复杂的多处理Python项目,它开始大约8-10个进程。这些过程获得不同的唯一名称,并且这些名称在代码中可以正常工作。但是,如果我在终端中检查正在运行的进程,则这些进程没有唯一的名称。它们的名称与父母的名称相同(实际上是命令行本身)。

使用环境:

的Python 3.6.6 RedHat Linux 7 xfce4终端0.8.7.4 最少的代码:

import multiprocessing
import time


def sleeping_function(s_time):
    multiprocessing.current_process().name = "process_{}".format(s_time)
    print(multiprocessing.current_process().name)
    time.sleep(s_time)


if __name__ == "__main__":
    times = [200, 201, 202, 203, 204]
    with multiprocessing.Pool(processes=len(times)) as pool:
        results = pool.map(sleeping_function, times)

展开
收起
祖安文状元 2020-01-16 17:06:35 644 分享 版权
1 条回答
写回答
取消 提交回答
  • 您可以使用setproctitle模块来更改进程的系统名称。显然,该模块以相同的名称调用C例程。

    setproctitle.setproctitle(multiprocessing.current_process().name)
    
    

    它适用于我在Ubuntu上

    2020-01-16 17:06:44
    赞同 展开评论