在Linux下更改Python进程和线程标题
我正在寻找一个简单的解决方案来更改python进程的标题和运行时由在Linux下更改Python进程和线程标题,python,linux,python-2.7,process,gentoo,Python,Linux,Python 2.7,Process,Gentoo,我正在寻找一个简单的解决方案来更改python进程的标题和运行时由top、htop或ps显示的单个python线程的名称 我希望避免包依赖性,但我不要求解决方案是可移植的。它应该在内核版本为4.4.38及以上的Gentoo系统上运行 我尝试了以下方法,但不幸的是,这些方法在我的系统上不起作用 if sys.platform == 'linux2': import ctypes libc = ctypes.cdll.LoadLibrary('libc.so.6') libc
top
、htop
或ps
显示的单个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)
它必须在python中吗?您能从bash以
exec-一个别致的pythonscript.py名称运行脚本吗
如果它需要来自python,但只需要应用于从python派生的新进程,那么以下内容对我很有用:
import subprocess
subprocess.Popen(['cool_name','ls'], executable='watch')
在我的例子中,您的方法(libc.prctl
)更改了konsole标题中显示的进程名称,但没有更改为ps
或top
谢谢,但我需要在运行时从python中更改名称。此外,我还想根据线程当前正在执行的任务动态命名线程。您需要更改解释器进程的argv[0],在纯python中没有简单且可移植的方法来完成此操作,中给出了一些示例