Executando um comando no modo daemon de tela

3

Estou tentando executar um comando no modo de tela usando o comando

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

Nada acontece. Quando eu coloco o mesmo comando em um script e executo o comando:

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

Funciona. Minha pergunta é, posso executar um comando no modo daemon sem primeiro ter que colocá-lo em um script? Basicamente, eu preciso deste recurso daemon porque ele ajuda na execução de vários comandos em paralelo, executando vários comandos sed em arquivos grandes em paralelo, jogando cada comando em um daemon de tela separado, que termina automaticamente após o término do programa. Obrigado

    
por Mijo 16.04.2015 / 15:10

2 respostas

3

Eu acho que o problema é com o -S se você tentar omitir a opção -S, deve, funcionar, mesmo sem bash -c então tente isso

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

Isso deve funcionar. A tela BTW não é atualizada, você deve considerar a mudança para o tmux. Pode fornecer muito mais recursos.

Você pode instalar o tmux digitando:

sudo apt-get install tmux

Assim, seu código deve se parecer com:

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

Eu pude testá-lo com

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

se você digitar

tmux attach -t hello

Ele levará você a uma sessão com o topo. Espero que isso ajude. verifique

man tmux

para todos os recursos e verifique aqui para uma folha de dicas abrangente

    
por Kalabantas 22.04.2015 / 09:32
1

Isso funciona para você?

screen -dmS screen_name bash -c "sed -i 's/a/b/'g some-file.txt"
    
por Oliver R. 16.04.2015 / 15:23

Tags