Edgard Leal

My personal blog hosted on Github using Jekyll

Home View on GitHub
28 May 2013

Existem situações onde precisamos iniciar um processo manualmente em segundo plano, como por exemplo, inicializar um servidor web. O problema é que o processo fica preso na tela do console nos impossibilitando de utilizar a mesma sessão, e o pior: quando o acesso é remoto ( ssh ) , e você não pode fechar o terminal para não encerrar o processo.
Uma das formas de resolver este problema é usando o "&" ao fim do comando (ainda não resolve para ssh)

edgard$ sleep 3&
[1] 16129

Sera exibido na tela o spid do processo e o console fica imediatamente livre para digitação, e após 3 segundos é impresso na tela a informação de que o processo foi finalizado.

[1]+  Exit 127                $ sleep 2

Outro problema é com o uso do acesso remoto (ssh) que quando fechamos a aplicação ( se for windows o put por exemplo) , processo é finalizado. Para resolver este problema, utilizaremos o aplicativo nohup.
Ex.:

nohup sleep 3&

Além de executar o processo em segundo plano, o nohup envia toda a saida (stdout) para o arquivo nohup.out que estará na pasta corrente.



blog comments powered by Disqus