
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"