shell 关闭后如何将 nohup 任务带到前台

How to bring a nohup task to foreground after the shell is closed

我在 linux shell:

中执行了下面的命令
$ nohup run &

这里run是阻塞命令。然后我关闭 shell 并开始一个新的。然而,在新的 shell 中,我无法通过 fg 将任务调到前台,也无法通过 jobs 看到它。还有办法把它调到前台吗?

据我了解,run 是 shell 的子进程,当 shell 关闭时,run 也会关闭。 也许使用 tmuxscreen 可以达到你想要的效果。

使用screen代替nohup:

screen -dmS demo bash -c 'while ! read -t 1;do echo $((i++));done'

注:没有&.

然后退出...稍后,您可以:

screen -x demo

Ctrl+a,然后 d 离开控制台 运行

gnome-terminal -e 'screen -x demo'

然后,只需关闭 window 即可离开进程 运行。