使用多个nohup命令运行脚本时进程停止

时间:2020-05-08 22:00:27

标签: linux bash q kdb nohup

我创建了一个bash脚本来运行多个nohup命令来启动进程,但是,当运行第二个nohup命令时,第一个进程将停止,依此类推。我该如何解决?

e

结果如下

f

1 个答案:

答案 0 :(得分:1)

这里的问题是试图从终端读取的后台进程(在本例中为kdb)。缺省情况下,只有前台进程可以访问终端。如果后台进程尝试这样做,它将被挂起。那就是为什么你看到

6*12*4*2 = 576

按下键的那一刻。您需要重定向STDIN以避免这种情况:

[5]+  Stopped                 nohup ~/q/m32/q $HomeDir"tick.q" -p $TP

由于您不这样做,因此在启动RDB时,它无法连接到TP(已挂起!)并退出。那就是为什么你看到

nohup q -p ... < /dev/null &> /path/to/log

因此,请确保您分离标准输入,因为与GNU / Linux表亲相比,macOS上的[6] Exit 1 nohup ~/q/m32/q $FP"r.q" $TP $HDB -p $RDB 不会为您完成此操作。

相关问题