Estoy accediendo a un servidor que ejecuta CentOS (distribución de Linux) con una conexión SSH. Como no siempre puedo permanecer conectado, utilizo "nohup [comando] &" para ejecutar mis programas.
No pude encontrar cómo obtener una lista de todos los programas que comencé a usar nohup. "trabajos" sólo funciona antes de cerrar la sesión. Después de eso, si vuelvo a iniciar sesión, el comando de trabajos 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"?
Respuestas:
Cuando comencé con
$ nohup storm dev-zookeper
,METHOD1: usando
jobs
,prayagupd@prayagupd:/home/vmfest# jobs -l [1]+ 11129 Running nohup ~/bin/storm/bin/storm dev-zookeeper &
METHOD2: usando el
ps
comando.$ 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
programas en ejecución.Descripción
Referencia
$ man ps
# luego busca/PROCESS STATE CODES
fuente
nohup
. Enumera los procesos que no están conectados a un TTY, que es algo completamente diferente: los procesos que se inician connohup
permanecen conectados a su TTY principal hasta que se cierra; los procesos que no están conectados a un TTY no necesariamente se iniciaronnohup
. Es decir, el método 2 enumera, entre otros procesos, algunos de los programas que se ejecutan connohup
.En lugar de
nohup
, deberías usarscreen
. Obtiene 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 ese terminal.screen
tiene muchas opciones. La mayoría de las veces utilizo estos:Para iniciar la primera sesión de pantalla o tomar el control de la más reciente separada:
Para desconectarse de la sesión actual: Ctrl+ACtrl+D
También puede iniciar varias pantallas: lea los documentos.
fuente
Si tiene un redireccionamiento de salida estándar a "nohup.out", vea quién usa este archivo
fuente
man lsof
: "En general, los subprocesos y las tareas heredan los archivos de la persona que llama, pero pueden cerrar algunos y abrir otros, por lo que lsof siempre informa todos los archivos abiertos de subprocesos y tareas". No pude encontrar información sobre nohup en su hombre, pero parece que usa dos hilos, no uno.No puede obtener exactamente una lista de comandos con los que se comienza,
nohup
pero puede verlos junto con sus otros procesos usando el comandops x
. Los comandos que comienzan connohup
tendrán un signo de interrogación en la columna TTY.fuente
También puede usar el comando superior y su ID de usuario indicará los trabajos que se están ejecutando y sus horas.
$ top
(esto mostrará todos los trabajos en ejecución)
$ top -U [user ID]
(Esto mostrará los trabajos que son específicos para el ID de usuario)
fuente