Подтвердить что ты не робот

Изменение имени процесса python script

Есть ли способ изменить имя процесса, запускающего python script в Linux?

Когда я делаю ps, все, что я получаю, это имена процессов "python".

4b9b3361

Ответ 1

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

Использование образца:

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

# Lets check. Press Ctrl+Z       
[email protected]:~/procname$ ps

    PID TTY TIME CMD 

13016 pts/2 00:00:00 bash

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

Он будет работать только в системах, где присутствует системный вызов prctl, и поддерживает команду PR_SET_NAME.

Ответ 2

Проще (вам не нужно импортировать какие-либо библиотеки), но, возможно, не так элегантно. Вы не должны использовать "env" внутри линии shebang.

Другими словами, это будет называться "python" в списке процессов:

#!/usr/bin/env python

Но это будет указано с вашим именем сценария:

#!/usr/bin/python

Итак, вы сможете найти его с чем-то вроде pidof -x scriptname или ps -C scriptname

Ответ 3

Существует возможность сделать следующее, хотя оно работает только с 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)

Ответ 4

библиотека procname не работала для меня на ubuntu. Вместо этого я пошел с setproctitle (pip install setproctitle). Это то, что использует стрельба, и это сработало для меня.