在GitLabCI管道中,我运行nohup
命令来启动NodeJS服务器。我已经试用了几个版本的命令。没有一个版本完全在后台运行。由于某些原因,他们总是在航站楼里跑步。
这是我最近使用的命令:
ORIGIN=http://$PUBLIC_HOST:$PUBLIC_PORT nohup node build/index.js
--port $PUBLIC_PORT | ts >> build/log.txt 2>&1 &
我试过最后有没有管子。
该命令的哪个版本在后台记录节点进程的输出以及时间戳,而不挂起终端?
PS:出于安全考虑,我无法使用pm2
或其他具有联机度量的守护进程
看了"如何使用nohup在linux中作为后台进程运行进程?"的答案后?,我已经找到了一种让它运行的方法,将core命令封装到bash -c "command"
中。
命令现在是
ORIGIN=http://$PUBLIC_HOST:$PUBLIC_PORT
nohup bash -c "node build/index.js --port $PUBLIC_PORT | ts"
>> build/out.log 2>&1 &
具有基于以下内容拆分错误和日志的变体https://askubuntu.com/questions/349262/run-a-nohup-command-over-ssh-then-disconnect带有
ORIGIN=http://$PUBLIC_HOST:$PUBLIC_PORT
nohup bash -c "node build/index.js --port $PUBLIC_PORT | ts"
1>>build/out.log
2>>build/err.log &