Keep alive express process after close the terminal

大憨熊 提交于 2020-01-01 09:01:25

问题


I'm trying to keep live a process after close the terminal. Is a node.js project with express. Basically, for other process I kept alive processes with:

$ node server.js &

I with that, was possible finish the SSH connection and close the console. But with express, I started my process with:

$ npm start &

And always, after one request, the process died. Exist a way to keep the process alive? I'm using EC2, with a Ubuntu instance.


回答1:


I found the answer https://unix.stackexchange.com/questions/89483/keeping-a-process-running-after-putty-or-terminal-has-been-closed

Basically, you can use nohup process. (Execute Commands After You Exit From a Shell Prompt).

And I used:

$ nohup npm start &

And now is working good.




回答2:


I know that this is an old question, but for new visitors who identify with it, I'm going to go out on a limb here and guess that you are wanting to run a web app that is up all of the time: one that can service visitors to your IP address, night and day. If that is not the case, then screen or nohup can work fine, but if it IS the case, it is best practice to use a daemon like pm2 or forever.

Daemons are arguably the best way to keep a service running all the time... like, how does your Ubuntu instance know when you want to talk to it via SSH? It's due to sshd, the SSH daemon. The daemon has code that is always listening, just like you would want a web-app to do.

Also, pm2 and forever have some other nice features, like booting up the daemon again if your computer happens to crash-and-reboot.




回答3:


Use sceen

on your terminal type :

screen

then

npm start

And detach the session by pressing “Ctrl+a” immediately followed by “d”

Here to attach the sesion again : Source

It works on CentOS7



来源:https://stackoverflow.com/questions/26568135/keep-alive-express-process-after-close-the-terminal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!