找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 4350|回复: 1

[求助] 罕见的基础问题:如何修改进程名?

1

主题

2

帖子

2

积分

贫民

积分
2
beifengle 发表于 2019-3-22 18:34:52 | 显示全部楼层 |阅读模式
1威望
各位大神,由于我业务需要,需要修改python3执行后的程序进程名,主要是方便通过命令ps可以直接查出进程名
然而,网上搜索了,发现只有唯一一个第三方的库setproctitle可以修改进程名。

结果是,我修改后,在多进程条件下,进程名配对错乱了,小弟功力低,实在无法解决了,网上有关修改进程名的资料又少得基本没有,如下是我的测试代码:
  1. # -*- coding: utf-8 -*-
  2. from multiprocessing import  Process
  3. import  time
  4. import setproctitle
  5. import random
  6. def task(name):
  7.     print("name=",name)
  8.     time.sleep(random.randint(120, 150))

  9. if __name__ == "__main__":

  10.     setproctitle.setproctitle('python3 main--')

  11.     start = time.time()
  12.     p1 = Process(target=task,args=("safly1",),name='python3 safly1')

  13.     p2 = Process(target=task, args=("safly2",),name='python3 safly2')
  14.     p3 = Process(target=task, args=("safly3",),name='python3 safly3')

  15.     p1.start()
  16.     setproctitle.setproctitle('python3 main--1')
  17.     print(setproctitle.getproctitle())
  18.     p2.start()
  19.     setproctitle.setproctitle('python3 main--2')
  20.     print(setproctitle.getproctitle())
  21.     p3.start()
  22.     setproctitle.setproctitle('python3 main--3')
  23.     print(setproctitle.getproctitle())
  24.     print('--------------')

  25.     p1.join()
  26.     p2.join()
  27.     # p3.join()

  28.     print("main")
  29.     print('p1=',p1.name)
  30.     print('p2=',p2.name)
  31.     # print('p3=',p3.name)

  32.     end = time.time()
  33.     print(end- start)
复制代码


运行后在终端的结果:

  1. [root@by-gz2 ~]# ps -ef|grep python
  2. root     14921  8061  2 18:19 pts/4    00:00:00 python3 main--3
  3. root     14922 14921  0 18:19 pts/4    00:00:00 python3 main--
  4. root     14923 14921  0 18:19 pts/4    00:00:00 python3 main--1
  5. root     14924 14921  0 18:19 pts/4    00:00:00 python3 main--2
复制代码
你们看到问题所在了吗,
从代码的逻辑上看,python3 main-- 是另外三个子进程的父进程,但是命令ps查出来的进程ID,父进程ID,和后边的进程名称对不上号,实在不明白是哪里出了问题??

回复

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
beifengle  楼主| 发表于 2019-3-25 13:49:44 | 显示全部楼层
这么大的论坛竟然没一个人会?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表