更改python脚本的进程名称

时间:2010-02-12 22:08:01

标签: python linux

有没有办法在Linux上更改运行python脚本的进程的名称?

当我执行ps时,我得到的只是“python”进程名称。

4 个答案:

答案 0 :(得分:18)

http://code.google.com/p/procname/

样本用法:

# Lets rename:    
>>> procname.setprocname('My super name')    

# Lets check. Press Ctrl+Z       
user@comp:~/procname$ ps

    PID TTY TIME CMD 

13016 pts/2 00:00:00 bash

13128 pts/2 00:00:00 My super name <-- it's here

它仅适用于存在prctl系统调用且支持PR_SET_NAME命令的系统。

答案 1 :(得分:14)

有更简单的(你不需要导入任何libs),但可能不那么优雅。你必须不要使用&#34; env&#34;在shebang线内。

换句话说,这将命名为&#34; python&#34;在进程列表中:

#!/usr/bin/env python

但是这将使用您的脚本名称命名:

#!/usr/bin/python

因此,您可以使用pidof -x scriptnameps -C scriptname

之类的内容找到它

答案 2 :(得分:8)

可以选择执行以下操作,但它仅适用于linux(prctl(2)调用)

if sys.platform == 'linux2':
    import ctypes
    libc = ctypes.cdll.LoadLibrary('libc.so.6')
    libc.prctl(15, 'My Simple App', 0, 0, 0)

答案 3 :(得分:5)

procname库在ubuntu上对我不起作用。我改为使用setproctitle(pip install setproctitle)。这就是gunicorn使用的,它对我有用。