Vida do programa em segundo plano [duplicado]

0

Se você iniciar um programa em segundo plano no terminal com o & amp; opção. Parará quando você fechar o terminal?

    
por user3115372 12.06.2015 / 21:59

3 respostas

1

Para quando você desliga o terminal. Os terminais não têm necessariamente o conceito de serem fechados .

Com um terminal programa emulador , não há nada de real pendurado, mas fechar o programa emulador aciona um desligamento do terminal emulado. (Mais estritamente: fechar o lado do mestre do dispositivo de pseudo-terminal é qualificado como desligamento do terminal no lado do escravo.) Nem todos os programas de emulador têm a noção de estarem fechados. O que é embutido no kernel do sistema operacional, fornecendo os terminais virtuais do kernel, não pode ser "fechado", por exemplo.

Com um terminal real, há uma porta serial com uma linha de detecção de portadora e um desligamento real do modem que pode ocorrer se o usuário de discagem no terminal remoto desligar a conexão telefônica.

Tudo isso remonta aos dias de sistemas de compartilhamento de tempo com terminais remotos nos quais os usuários eram cobrados pelo uso. Se alguém perder acidentalmente a conexão telefônica, certamente não deseja ser cobrado por programas ainda em execução, até que o próximo sistema seja reiniciado. Por outro lado, os administradores do sistema e outros usuários não queriam que os programas ainda estivessem sendo executados e conectados a terminais agora livres, que poderiam então ser atribuídos a outros usuários de discagem.

Muita coisa mudou desde então. O controle de job do BSD, para começar, inspirou mudanças na distribuição do sinal de hangup e a introdução da noção de um líder de sessão que é responsável pelos trabalhos dentro de uma sessão de login e cuja morte é considerada ser um golpe esmagador para esses trabalhos. Obtemos login remoto pela Internet e a ideia de uma sessão de login da GUI . E os programas de emulação de terminal tornaram-se tão predominantes que as pessoas confundem-nos com os terminais que estão em emulando .

Mas a ideia fundamental é que os processos do usuário estão, no caso normal, terminados - de alguma forma, mesmo que por meio da mediação de um líder de sessão - quando a sessão de terminal termina.

    
por JdeBP 13.06.2015 / 17:15
1

Visite Executando programas em segundo plano a partir do terminal ou A maneira mais eficiente de iniciar e separar um programa do terminal?

% bl0ck_qu0te%

Acho que fechar gnome-terminal clicando no botão Fechar pode causar a interrupção / eliminação desse programa. Mas se você fechar o terminal pelo comando exit que o programa não fechará / parará / eliminará.

    
por Pandya 14.06.2015 / 11:26
0

Sim, vai parar. Para evitar que o programa seja interrompido, use nohup .

Por exemplo, nohup firefox > /dev/null 2>&1 & , ambos permitirão executar o firefox em segundo plano sem fechar e impedir que o erro / saída seja exibido no console

    
por Sergiy Kolodyazhnyy 12.06.2015 / 22:15