Estoy ejecutando el comando de suspensión en la terminal usando la pantalla y en modo desconectado.
Una vez que la pantalla regresa inmediatamente, estoy ejecutando ps
comando para verificar que la suspensión se está ejecutando.
$ screen -d -m 'sleep 2m'
[[email protected] ~]$ ps
PID TTY TIME CMD
22795 pts/0 00:00:00 bash
22869 pts/0 00:00:00 ps
Pero el comando no mostró sueño. ¿Qué es lo que estoy haciendo mal aquí?
Respuesta aceptada:
Esto también me resultó confuso al principio. Luego vuelvo a leer la screen
local página de manual para la SINOPSIS (la página de manual en línea no ofrece una sinopsis) y noté que decía:
screen [ -options ] [ cmd [ args ] ]
… lo que me llevó a creer que quería ver el cmd
y args
como argumentos independientes.
Dado que diste ese primer argumento como un valor entre comillas:'sleep 2m
‘ — intentó ejecutar un comando llamado (exactamente) ‘sleep 2m
', a diferencia de lo que realmente quería, que era sleep
con su propio argumento de 2m
. La screen
el comando salió con éxito (en mis pruebas), pero no ejecute con éxito su comando.
Utilice, en su lugar:
screen -d -m sleep 2m
En lugar de ps
, que solo mostrará los procesos asociados con el terminal actual (de los cuales SCREEN y los procesos relacionados no ), usa:
ps x
que lo mostrará:
$ ps x
PID TTY STAT TIME COMMAND
# ...
7514 pts/1 Ss 0:00 -bash
7761 ? Ss 0:00 SCREEN -d -m sleep 2m
7762 pts/2 Ss+ 0:00 sleep 2m
7880 pts/1 R+ 0:00 ps x
# ...