과거에 rails s
SSH로 연결한 Bash에서 (를 사용하여) Ruby on Rails 서버를 실행했는데 인터넷 연결이 중단된 경우라고 생각합니다.
- Ruby on Rails 서버가 중지됩니다.
- Ruby on Rails 서버는 실제로 계속 실행 중이었고(VPN 연결이 끊어졌기 때문인 것 같습니다)
ps ux
관련 프로세스를 하나씩 종료해야 했습니다... 조금 지저분했습니다.
(1) 또는 (2)가 발생할 수 있습니까? 잘 정의된 동작이 있나요? 예를 들어, VPN이 아니지만 ssh 연결이 끊긴 경우 (1)이 되고, VPN인 경우 (1) 또는 (2) 중 하나가 됩니다.
추신: Rails 서버를 실행해야 하는 경우 사용하도록 전환했습니다 tmux
. 그러면 다시 돌아와서 tmux a -t foo
연결할 수 있고 필요한 경우 CTRL-C를 누를 수 있습니다.
답변1
예, 쉘과 관련된 프로세스는 신호를 수신합니다. 그런 식으로 프로그래밍하면 무시할 수 있습니다. 에 대해서는 남자를 참조하세요 nohup
.
예를 들어 nohup command
명령을 실행하면 hup이 발생하지 않습니다. 그러나 stdin, stdout, stderr도 리디렉션되었습니다.
또한 참조하십시오 disown
.&
완전히 연결을 끊으려면nohup > /dev/null command & disown