![nohup e a tela não funcionam ao executar o programa em segundo plano?](https://rvso.com/image/31668/nohup%20e%20a%20tela%20n%C3%A3o%20funcionam%20ao%20executar%20o%20programa%20em%20segundo%20plano%3F.png)
Não sei por que, mas meu screen
comando em execução no servidor está parando sozinho. Por isso tentei usar nohup
. por exemplo:
nohup bzcat a.bz
Mas quando corro nohup
isso está me dando
nohup: ignoring input and appending output to `nohup.out'
Também para retomar eu corro: fg
o que me dá:
-bash: fg: current: no such job
Responder1
A mensagem de nohup
está perfeitamente ok. Está apenas explicando o que está fazendo. Quando você executa um programa com nohup, ele não usa mais o que você digita no terminal, nem gera nada no terminal. nohup
redireciona a saída do programa para um arquivo chamado nohup.out
.
E é muito diferente de nohup
um programa ser executado em segundo plano (seria executado em segundo plano bzcat a.bz &
). Quando um programa é executado em segundo plano, ele ignora a entrada do terminal (somente o programa executado em primeiro plano pode usar o que você digita no terminal, é por isso que é chamado de processo de "primeiro plano", porque é aquele com o qual você está realmente interagindo with), mas ele envia para o terminal. É possível executar um programa tanto no modo nohup quanto em segundo plano. Na verdade, geralmente é assim que nohup
se usa. Se você tiver nohup
um programa, mas não o iniciar em segundo plano, não poderá acessá- fg
lo porque, na verdade, ele não está em segundo plano. Simplesmente não envia para o terminal.
nohup
permite que você execute um programa em um modo em que ele irá ignorar HUP
sinais. Os terminais normalmente enviam HUP
sinais quando você fecha o terminal. Portanto, um programa executado em segundo plano no modo nohup não irá parar quando você fechar o terminal no qual o iniciou.