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 번호)