ber*_*nie 19
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
Run Code Online (Sandbox Code Playgroud)
它仅适用于存在prctl系统调用且支持PR_SET_NAME命令的系统.
Sas*_* Ru 16
有更简单的(你不需要导入任何库)但可能不是那么优雅的方式.你必须不要在shebang线内使用"env".
换句话说,这将在进程列表中命名为"python":
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
但是这将使用您的脚本名称命名:
#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
所以,你就可以用类似的东西找到它pidof -x scriptname或ps -C scriptname
可以选择执行以下操作,但它仅适用于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)
Run Code Online (Sandbox Code Playgroud)
procname库在ubuntu上对我不起作用.我去了setproctitle而不是(pip install setproctitle).这就是gunicorn使用的,它对我有用.