Junte-se a uma sessão interativa de um processo lançado a partir de rc.local

1

Existe uma maneira de participar de uma sessão interativa de um processo que foi executado na inicialização com /etc/rc.local, ou enviá-lo "parar" sobre STDIN na reinicialização / desligamento e esperar que ele termine antes de desligar?

    
por Jan Novák 18.07.2017 / 13:28

1 resposta

0

Como foi explicado nos comentários, você precisa “salvar” o stdin do processo de alguma forma. Por padrão, dependendo do sistema init, isso pode ser o console ou /dev/null . Para poder anexar ao processo, use um multiplexador de tela, como Tela ou tmux . Veja também Como posso deserdar um processo em execução e associá-lo a um novo shell de tela?

Em /etc/rc.local , execute algo como

screen -S mydaemon -md /usr/local/bin/mydaemon --some-option

Para se conectar ao programa interativamente, você executaria

screen -S mydaemon -rd

Para enviar automaticamente pressionamentos de teclas ao programa (consulte envio de entrada de texto para uma tela separada ):

screen -S mydaemon -p 0 -X stuff 'bye^M'
    
por 20.07.2017 / 00:58