Ubuntu fecha o terminal Gnome durante a noite

3

Eu costumava executar um programa Perl TCP Socket 24 * 7 no meu servidor UBUNTU. Normalmente, eu abria o terminal do Gnome, ia para o caminho do script e iniciava o script Perl. O terminal do Gnome fica aberto por toda parte. Estava funcionando bem por 6 meses. Mas nos últimos três dias, não está funcionando corretamente. O terminal do Gnome está fechando automaticamente e, portanto, o programa Socket. Na manhã do dia seguinte, eu abri novamente o terminal e executei o programa de soquete; em seguida, novamente, o terminal foi fechado durante a noite. Não consegui encontrar nenhuma solução na web. Precisa de ajuda para resolver o problema

    
por gzix 14.09.2015 / 10:41

3 respostas

5

Execute seu programa na tela . Basta instalar a tela, abra o seu terminal e digite "screen". A partir desse momento, tudo o que você fizer estará dentro de uma 'tela' persistente que não depende de o shell externo estar fechado.

Se o seu terminal estiver fechado, você poderá abrir um novo e anexar novamente a tela.

Se eu escrevo programas que precisam rodar assim (normalmente eu os inicio remotamente através de ssh) eu costumo escrever em uma verificação, para que o programa se recuse a iniciar a menos que esteja rodando na tela (verifique se a variável de ambiente STY existe ). Dessa forma, não consigo executar o programa acidentalmente fora da tela.

    
por Peter 14.09.2015 / 13:55
5

É possível iniciar o programa em segundo plano (seu script pode precisar de alguma alteração, se não for possível) com ...

nohup {program} > {program.out} 2>&1 & 

A saída do programa será redirecionada para {program.out}. Se você alterar o ">" para "> >" ele anexará a saída em vez de gravar na hora anterior em que foi usada.

Isso eliminaria a necessidade de uma sessão de terminal. Além disso, também interceptará mensagens de erro que você pode ter perdido devido à sessão de terminal ter sido interrompida / interrompida.

    
por Rinzwind 14.09.2015 / 10:54
3

Pressione CTRL + ALT + F2 e entre com seu nome de usuário e senha.

Execute o comando de lá e ele não deve fechar.

    
por mchid 14.09.2015 / 10:48