slate (API 위키같은거) 를 사용하고 있던 도중 루비의 bundle은 pm2 처럼 따로 올리는게 없는건지.. OS 자체 백그라운드가 필요하여 이참에 백그라운드 실행을 알면 좋을 것 같아 정리한다.
백그라운드 실행 방법
> 명령어 &
예시) bundle exec middleman server &
&만 붙으면 되기에 매우 간단하다. 그치만 이 경우 터미널 세션을 끊어버리면 백그라운드 중인 작업도 종료된다
그치만 이 경우 터미널 세션을 끊어버리면 백그라운드 중인 작업도 종료된다
이 경우 다음과 같은 명령어로 해결이 가능한데
> nohup 명령어 &
예시 ) nohup bundle exec middleman server &
하면 터미널 세션을 끊어버려도 문제 없이 돌아간다.
이 경우 log들은 nohup를 실행한 폴더에 nohup.out이라는 이름으로 저장된다.
nohup 백그라운드 종료
nohup 종료방법은 찾아보고 매우 무식한 방법이다 싶었는데 정말 무식한 방법 이였다
> ps -ef | grep middleman server
여기서 나온 PID를 가지고 킬하기.
> kill -9 25625
(& 로만 한 경우) 백그라운드 종료
> jobs
으로 실행중인 백그라운드 확인.
(& 로만 한 경우) 포그라운드로 전환
fg %1 (jobs 번호)
(&로만 한 경우) 강제 종료
kill %1 (jobs 번호)