Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux下更改Python进程和线程标题_Python_Linux_Python 2.7_Process_Gentoo - Fatal编程技术网

在Linux下更改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

我正在寻找一个简单的解决方案来更改python进程的标题和运行时由
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中没有简单且可移植的方法来完成此操作,中给出了一些示例