Eu tenho a mesma pergunta que aqui, mas mesmo além disso.
Se eu sair / sair da conexão SSH, preciso que meu programa seja executado em segundo plano. Antes de sair, digito bg
e jobs
para verificar a tarefa em execução em segundo plano, mas depois de sair do SSH, o programa não é executado, ele fecha quando eu fecho a janela do SSH.
O que posso fazer se quiser que meu programa continue em execução após fechar a janela SSH? Eu uso, nohup
screen
mas também não funciona, ou estou perdendo alguma coisa?
<br/>
s para o seu posto apenas fazer parágrafos conforme necessário E enquanto você está nisso, por favor use a capitalização apropriada Faz suas mensagens mais fácil de ler....)bg
ounohup
ao usarscreen
. Também esta questão está relacionada.Respostas:
Quando você usa,
screen
é necessário desanexar com CTRL+A+ Dantes de sairssh
.Como alternativa, se você deseja executar um processo diretamente com a tela, pode usar
-d
inicia uma sessão na tela e se desconecta imediatamente-m
força a criação de uma nova sessão de tela-S
permite que você dê um nome à sessão-L
ativa o log para~/screenlog.0
exemplo:
Você pode:
retomar mais tarde usando
screen -x workstuff
ou
verifique o arquivo de log
less -r ~/screenlog.0
fonte
Use
tmux
. Não tenho certeza sescreen
ainda está em desenvolvimento ativo. É uma espécie de preferência, mas como alguém que usatmux
, posso testemunhar que ele foi configurado em cerca de 5 minutos e funcionou perfeitamente.Em um sistema baseado no Debian (na máquina remota):
sudo apt-get install tmux
então entre
tmux
para entrar, execute o processo que você precisa e pressione Ctrl+ e Bdepois D(isso sai da sessão do tmux). Em seguida, você pode sair do SSH.Quando precisar voltar / verificar novamente, inicie o SSH e digite
tmux attach
. O levará de volta à suatmux
sessão.tmux
possui muito mais recursos, conforme detalhado aqui. Mas isso deve resolver seu problema imediato.Boa sorte!
fonte
Por fim, resolvi usando
screen
:No modo de tela, desconecte-o usando CtrlAD. Então você pode fechar a janela SSH.
fonte
nohup use: O primeiro dos comandos abaixo inicia o programa abcd em segundo plano, de forma que o logoff subsequente não o interrompa.
fonte