segundo script proceso plano lanzar ejemplos ejecutar dejar corriendo correr linux shell centos nohup

linux - script - nohup ubuntu



Cómo obtener una lista de programas que se ejecutan con nohup (5)

Estoy accediendo a un servidor que ejecuta CentOS (distribución de Linux) con una conexión SSH. Como no siempre puedo permanecer conectado, uso "nohup [comando] &" para ejecutar mis programas.

No pude encontrar cómo obtener una lista de todos los programas que comencé a usar nohup. "trabajos" solo funciona antes de cerrar la sesión. Después de eso, si vuelvo a iniciar sesión, el comando jobs no me muestra nada, pero puedo ver en mis archivos de registro que mis programas aún se están ejecutando.

¿Hay alguna manera de obtener una lista de todos los programas que comencé a usar "nohup"?


En lugar de nohup , deberías usar la screen . Logra el mismo resultado: sus comandos se ejecutan "separados". Sin embargo, puede reanudar las sesiones de pantalla y volver a su terminal "oculta" y ver el progreso reciente dentro de esa terminal.

screen tiene muchas opciones. La mayoría de las veces los uso:

Para iniciar la primera sesión de pantalla o para hacerse cargo de la más reciente individual:

screen -Rd

Para desconectarse de la sesión actual: Ctrl + A Ctrl + D

También puede iniciar varias pantallas: lea los documentos.


No se puede obtener exactamente una lista de comandos iniciados con nohup pero puede verlos junto con sus otros procesos utilizando el comando ps x . Los comandos que comienzan con nohup tendrán un signo de interrogación en la columna TTY.


Si tiene salida estándar, redirija a "nohup.out" solo vea quién usa este archivo

lsof | grep nohup.out


También puede usar el comando superior y su ID de usuario indicará los trabajos en ejecución y sus tiempos.

$ top

(Esto mostrará todos los trabajos en ejecución)

$ top -U [user ID]

(Esto mostrará los trabajos que son específicos para la identificación del usuario)


Cuando comencé con $ nohup storm dev-zookeper ,

MÉTODO1: usar jobs ,

prayagupd@prayagupd:/home/vmfest# jobs -l [1]+ 11129 Running nohup ~/bin/storm/bin/storm dev-zookeeper &

METHOD2: utilizando el comando ps .

$ ps xw PID TTY STAT TIME COMMAND 1031 tty1 Ss+ 0:00 /sbin/getty -8 38400 tty1 10582 ? S 0:01 [kworker/0:0] 10826 ? Sl 0:18 java -server -Dstorm.options= -Dstorm.home=/root/bin/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dsto 10853 ? Ss 0:00 sshd: vmfest [priv]

Columna TTY con ? => nohup ejecutando programas.

Descripción

  • Columna TTY = la terminal asociada con el proceso
  • Columna STAT = estado de un proceso
    • S = suspensión interrumpible (esperando a que se complete un evento)
    • l = es multiproceso (utilizando CLONE_THREAD, como NPTL pthreads hacer)

Referencia

$ man ps # luego buscar /PROCESS STATE CODES