저는 Amazon Web Services EC2에서 Ubuntu 시스템을 개발 중입니다. 시스템에서 실행되어야 하는 node.js 서버의 인스턴스를 만들었습니다. 작업 디렉토리에 ssh로 접속하고 다음 명령을 사용하면,
:~/Test1$ node server.js
서버가 잘 작동하고 있습니다. 코드는 문제없이 실행됩니다
이제 내가 원하는 것은 터미널이 닫혀 있을 때에도 server.js 코드를 백그라운드 프로세스로 실행하는 것입니다. 이를 위해 나는 nohup
명령을 사용합니다&
:~/Test1$ nohup node server.js &
이렇게 하면 server.js도 시작되지만 nohup
터미널을 닫으면 server.js가 작동을 멈추기 때문에 명령이 작동하지 않는 것 같습니다. 나는 sudo
또한 명령으로 코드를 시도했습니다.
:~/Test1$ nohup sudo node server.js &
그러나 그것은 아무것도 하지 않습니다.
내가 뭘 잘못했나요? 그리고 어떻게 작동하게 만들 수 있나요? 감사해요.
답변1
나는 똑같은 문제가 있습니다. 나는 당신처럼 노드 서버를 운영합니다.
nohup node server.js &
이러한 방식으로 프로세스는 터미널 세션 내에서 실행되므로 터미널 세션이 열려 있는 동안 프로세스가 더 오래 지속됩니다.
대신 별도의 세션에서 프로세스를 실행해 보세요.
setsid nohup node serve.js &
이런 식으로 시도해 보니 나에게 효과적이었습니다.