Ejecutar un comando en modo demonio de pantalla

Ejecutar un comando en modo demonio de pantalla

Estoy intentando ejecutar un comando en modo pantalla usando el comando

screen -dmS screen_name sed -i 's/a/b/'g some-file.txt

No pasa nada. Cuando pongo el mismo comando en un script y ejecuto el comando:

screen -dmS screen_name bash -c /path/to/script

Funciona. Mi pregunta es, ¿puedo ejecutar un comando en modo demonio sin tener que ponerlo primero en un script? Básicamente, necesito esta función de demonio porque ayuda a ejecutar varios comandos en paralelo, ejecutando varios comandos sed en archivos grandes en paralelo lanzando cada comando en un demonio de pantalla separado, que finaliza automáticamente una vez que finaliza el programa. Gracias

Respuesta1

Supongo que el problema está en -S, si intentas omitir la opción -S, debería funcionar, incluso sin bash -c, así que prueba esto.

screen -dm sed -i 's/a/b/'g some-file.txt

Eso debería funcionar. Por cierto, la pantalla no está actualizada, debería considerar cambiar a tmux. Puede proporcionarle muchas más funciones.

Puedes instalar tmux escribiendo:

sudo apt-get install tmux

Entonces tu código debería verse así:

tmux new-session -d -s foo 'sed -i 's/a/b/'g some-file.txt'

Podría probarlo con

tmux new-session -d -s hello 'top'

si escribes

tmux attach -t hello

Te llevará a una sesión con top. Espero que esto ayude. controlar

man tmux

para todas las características y comprobaraquípara una hoja de trucos completa

Respuesta2

¿Esto funciona para tí?

screen -dmS screen_name bash -c "sed -i 's/a/b/'g some-file.txt"

información relacionada