当 tmux 退出时,从 .bashrc(在 tmux 会话中)调用的后台进程会死亡吗?

当 tmux 退出时,从 .bashrc(在 tmux 会话中)调用的后台进程会死亡吗?

解释起来很难,但这是我观察到的行为:

# ~/.bashrc

if [ -n "$TMUX" ]; then
  sleep 100 &
fi

有了它.bashrc,我可以启动 tmux 会话,pgrep sleep并看到一个 PID 出现。我可以从 tmux 和 分离pgrep sleep,它仍然在那里。

但是如果我完全退出 tmux,那么当我 时pgrep sleep,它就消失了。

如果我手动打开新的 tmux 会话,则不会出现这种情况。在裸终端中使用调用sleep 100 &时也不会出现这种情况(.bashrcsleep 100 &IE,没有 tmux)。

发生了什么?这是 tmux 中的预期行为吗?

编辑:这也适用于其他启动脚本,例如.bash_profile。或者可能仅适用于.bash_profile— 我在 Mac 上,因此无论如何我都会调用.bashrc.bash_profile

相关内容