如何让nohup释放提示?

问题描述 投票:0回答:1

下面的脚本永远不会打印

done
,除非您手动按回车键。开发机器是 osx,服务器是 ubuntu 22.04。

这是一个重启远程Web服务器的脚本。 Web 服务器使用

bun.js
javascript 服务器,远程命令首先杀死任何
bun
进程,然后使用
nohup
启动服务器。

function remote() {
  ssh -l root -p $PORT $HOST "source ~/.bash_profile && $1"
}

echo "  restarting server"
remote "killall -r bun || true && nohup /apps/run_server.ts > /logs/server.txt 2>&1 < /dev/null &"
echo "  done"

/apps/run_server.ts
内容,带有shebang的javascript(打字稿)代码:

#!/usr/bin/env bun

import 'my_server'
run_myserver()
bash unix nohup
1个回答
0
投票

&
适用于整行,包括killall 命令。尝试将 nohup 放入子 shell 中

.. && (nohup /apps/run_server.ts > /logs/server.txt 2>&1 < /dev/null &)
© www.soinside.com 2019 - 2024. All rights reserved.