이번엔 백그라운드에서 서버 실행하려고 합니다.

왜 그러려고 하냐? 다른 명령어도 사용해야하는데 js파일 하나만 할 순 없으니깐

vscode에서도 npm server.js를 실행하면 코드를 입력할 수 없고 request에 의해서 콘솔이 찍힐 뿐이죠...

저거를 취소하는 순간 서버가 꺼진 것과 다름이 없죠. 

그렇기 때문에 백그라운드 실행을 하려고 합니다.

우선 forever 설치를 합니다.

$>npm install forever -g

 

그 후 실행할 파일 디렉토리로 이동한 수 forever를 이용해서 node.js 파일을 실행합니다.

$>forever start server.js

 

백그라운드 실행이 되고 있는지 확인하고 싶다면 

$>forever list

그럼 이렇게 사진처럼 나옵니다

그런데 여기서 root권한이 없는 상태로 명령어를 입력한다면 밑에 사진처럼 아무것도 나오지 않는다.

forever은 사용자 권한을 구분하여 정보를 반환한다.

 

해당 파일을 종료하고 싶다면 list 명령어로 확인한 pid를 X에다 넣어서 실행시키면 된다.

$>forever stop X

그럼 밑에 사진처럼 forever stopped process가 나올 것 이다.

 

해당 프로세스의 로그를 실시간으로 확인하고 싶으면 logs 또는 list 명령어의 logfile 주소를 아래의 명령어와 조합을 하면된다.

단순 확인은 cat, vi 등으로 확인할 수 있다.

 

$ > tail -f /home/user/.forever/dke.log

예시이기 때문에 사람마다 user 명과 log 파일명이 다르다. 

+ Recent posts