gpt4 book ai didi

bash - 在 bash 中,使用 &(& 符号)作为后台进程不起作用

转载 作者:行者123 更新时间:2023-11-29 09:15:29 25 4
gpt4 key购买 nike

我正在尝试使用 bash 脚本编写 tmux 脚本。

这是我用来在后台执行另一个脚本的行(引号是该行的一部分):

"$CURRENT_DIR/scripts/continuum_restore.sh" &

这在我的机器上工作得很好。问题是,对于使用该脚本的另一个用户来说,上面的行似乎*不是后台*。在他的情况下,脚本是同步执行的。有趣的是,我们尝试从登录 shell (sleep 10 &) 后台运行一个随机进程,在这种情况下一切正常。

这是一个 github issue用户打开了。

以下是我所掌握的用户计算机的所有信息,其中后台似乎不起作用:

  • 操作系统 10.10.1
  • bash --version 是 GNU bash,版本 3.2.53(1)-release (x86_64-apple-darwin14)
  • 用户的 tmux 版本是 1.9a(如果重要的话)

这是包含非背景行的整个脚本,link .有问题的行是 56。

理想情况下,我想首先一致地重现问题,然后尝试修复它。以下是我尝试重现该问题的方法(未成功):

  • set +m(将其设置在带符号的行之前)
  • stty susp undef(将其设置在带符号的行之前)
  • 设置以上两个

我的具体问题是:什么选项可以用来禁用 bash/shell 中的后台功能? (所以我可以重现上述问题)

最佳答案

您可以尝试重定向输出。它可以阻止作业在后台运行。

nohup "$CURRENT_DIR/scripts/continuum_restore.sh" >/tmp/output.log &

关于bash - 在 bash 中,使用 &(& 符号)作为后台进程不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28652066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com