@Flamezito157, olha eu ia já dar essa curiosidade na primeira resposta que eu dei mas achei que seria um pouco maçante, mas já que você é um jovem pinguim ávido por conhecimento…
De certa forma, a grosso modo falando, quando você faz esse tipo de chamada, com o &
, apesar dele ter liberado o seu PROMPT, o processo ainda está atrelado aquela sessão de terminal, então se você fizesse isso de “abrir o firefox em background e depois fechasse o terminal”, sim, o firefox seria fechado junto.
Até aonde eu sei (eu posso estar errado e por favor se tive alguém com mais experiência, pode me corrigir), por estar atrelado o processo do firefox com com aquela sessão de terminal, quando você fecha-lo, o próprio sistema manda um SIGNAL, um sinal de TERM, para os processos atrelados… e o que é isso? como eu disse, a grosso modo, basicamente o sistema manda um sinal para o firefox dizendo para ele ser fechado.
Levando tudo isso em consideração, existe um comando, o nohup
, que pelo que eu entendo dele, ele faz com queno comando que vc passar pra ele, fique “protegido” de receber SIGTERM’s, ou seja, por mais que você feche o terminal, o programa não vai “aceitar” o sigterm e vai continuar vivo.
Bom, para que isso funcione, você ter que juntar essas duas coisas, o nohup
command e deixar em background, por exemplo:
nohup firefox &
OBS: Não me recordo se tem que passar o path absoluto, se for caso, pode fazer a chamada de um sub shell ali no meio, dessa forma:
nohup $(which firefox) &
@Flamezito157, faça experimentos, tente só com o nohup
, só com o &
. Veja com seus próprios olhos como é o comportamento de cada comando, e acima de tudo, entenda o que está fazendo!
Espero que tenha sido de alguma valia, obrigado. 