2017-03-07 26 views
1

我正在寻找一种简单的解决方案,以便在运行时更改Python进程的标题以及top,htopps所显示的各个python线程。在Linux下更改Python进程和线程标题

我想避免包依赖,但我没有要求解决方案是可移植的。它应该运行在内核版本为4.4.38及以上的Gentoo系统上。

我尝试了以下不幸在我的系统上无法正常工作。

if sys.platform == 'linux2': 
    import ctypes 
    libc = ctypes.cdll.LoadLibrary('libc.so.6') 
    libc.prctl(15, 'Another Name', 0, 0, 0) 
+0

您需要更改解释器进程的argv [0],没有简单和便携的方式来在纯Python中执行它,一些示例在http://stackoverflow.com/questions/564695/is-there中给出-a-way-to-change-effective-process-name-in-python – mucka

回答

0

它是否必须在python内?你能从bash运行脚本作为exec -a fancy_name python script.py吗?

如果需要给Python,但只需要适用于从蟒蛇催生新的流程,下面的工作对我来说:

import subprocess 
subprocess.Popen(['cool_name','ls'], executable='watch') 

你在我的情况的方法(libc.prctl)改变工艺名称显示通过konsole的标题,但不显示在pstop中。

+0

谢谢,但我需要在python中在运行时更改名称。另外我想根据他们当前正在处理的任务动态地命名线程。 –