Por que alguns aplicativos não suportam o terminal depois de executar de lá

0

Muitas vezes, quando eu inicio um aplicativo a partir do terminal, ele inicia e mantém o terminal, portanto, se eu pressionar Ctrl+C , o aplicativo será encerrado, por exemplo, [johndoe@localhost ~] gedit
No entanto, percebo que alguns programas iniciam independentemente, embora executados no terminal, como atom e code (código do Visual Studio). Por que é que? Como isso funciona?

    
por codezombie 14.08.2018 / 07:21

1 resposta

1

Eles começam em segundo plano. Para ser mais preciso, eles executam outro processo que continua a ser executado, enquanto o processo iniciado pelo shell termina.

Se você estiver procurando detalhes sobre como isso é feito, procure por "daemonize".

Editar

Como apontou @JdeBP, a doação envolve mais do que apenas um garfo e uma saída. Geralmente envolvia o fechamento de todos os arquivos ou pelo menos 0-2, outro fork, destacando-se do grupo de processos do shell e assim por diante. Os programas que você mencionou podem ou não fazer isso.

    
por 14.08.2018 / 07:58