Acho que no passado, digamos, se eu executasse o servidor Ruby on Rails (usando rails s
) em um Bash para o qual fiz ssh e a conexão com a Internet fosse interrompida, então
- O servidor Ruby on Rails iria parar
- O servidor Ruby on Rails continuou funcionando (acho que foi devido à VPN desconectada), e eu tive que fazer um
ps ux
e depois matar todos os processos relacionados, um por um... foi um pouco confuso.
Poderia (1) ou (2) acontecer? Existe um comportamento bem definido? Por exemplo, se não for VPN, mas o ssh estiver desconectado, então (1), mas se for VPN, então (1) ou (2)?
PS: mudei para usar tmux
se precisar executar um servidor Rails nele, para poder voltar e tmux a -t foo
anexar novamente a ele e pressionar CTRL-C se precisar.
Responder1
Sim, os processos associados ao shell recebem sinal hup. Eles podem ignorar, se programados dessa forma. Veja homem para nohup
.
por exemplo, nohup command
para executar o comando para que não ocorra nenhum problema. Mas também tem stdin, stdout, stderr redirecionado.
Veja também disown
, e&
desconectar totalmentenohup > /dev/null command & disown