script programa ejecutar desde cómo consola compilar archivos archivo python linux

programa - ejecutar python en linux



cambiando el nombre del proceso de un script de python (4)

Existe la opción de hacer lo siguiente, aunque solo funciona en linux (con la llamada prctl(2) )

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

Esta pregunta ya tiene una respuesta aquí:

¿Hay alguna manera de cambiar el nombre de un proceso que ejecuta un script de python en Linux?

Cuando hago un ps , todo lo que obtengo son nombres de proceso "python".


Hay una forma más simple (no es necesario importar libs), pero tal vez no sea tan elegante. Tienes que no utilizar "env" dentro de la línea shebang.

En otras palabras, esto se nombrará como "python" en la lista de procesos:

#!/usr/bin/env python

Pero esto se nombrará con su nombre de script:

#!/usr/bin/python

Así que podrás encontrarlo con algo como pidof -x scriptname o ps -C scriptname


la biblioteca procname no funcionó para mí en ubuntu. Fui con setproctitle en su lugar ( pip install setproctitle ). Esto es lo que Gunicorn usa y funcionó para mí.


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

Uso de la muestra:

# 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

Solo funcionará en sistemas en los que prctl system call esté presente y admita el comando PR_SET_NAME .