nohup及重定向
如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你关闭终端之后继续运行相应的进程
保持进程
1 | node xxx.js |
这行命令当按下control + c,进程就会退出。如果需要进程在后台保持运行,需要
1 | node xxx.js & |
但是如果是通过ssh远程登录到linux主机上,当关闭窗口,进程还是会退出,所以需要用nohup命令
1 | nohup node xxx.js & |
这样即使关闭了窗口,进程还是会继续执行
输出重定向
默认stdout和stderr都会重定向到nohup.out
1 | nohup node test.js & |
1 | [1] 31767 |
可以重定向到不同的位置:
1 | nohup node test.js >> app.log & |
1 | [1] 31803 |
用上面的命令,stdout和stderr都重定向到app.log文件,如果希望分离stdout和stderr,可以用下面的命令
1 | nohup node test.js 1>>app.log 2>>error.log & |
1 | [1] 31851 |
跟node.js console的关系
1 | console.log() |
是输出到stdout,而
1 | console.trace() |
则是输出到stderr