【问题标题】:Get bg jobs to fg after closing terminal window/session关闭终端窗口/会话后获取 bg 作业到 fg
【发布时间】:2023-07-18 14:41:01
【问题描述】:

TL;DR 关闭终端窗口后,如何将 bg(后台)作业转换为 fg(前台)?

FULL 我正在使用终端启动 Spotify,并使用 CTRL+Zbg 将其置于后台。在这个窗口中一切都按预期工作:fg 将进程再次置于前台,jobs 将 Spotify 显示为正在运行的进程。如果我关闭终端窗口,就会出现问题。

在我关闭终端窗口并打开一个新的终端窗口后,jobs 命令找不到在后台运行的 Spotify。因此我无法再访问停止或关闭的过程。

这种行为CTRL+Zfgbg & jobs 有什么好处?我怎样才能找回我的流程?

【问题讨论】:

    标签: terminal background-process jobs background-foreground


    【解决方案1】:

    您可以通过ps -A 搜索您的旧流程。或ps -A | grep <application name>。 如果您找到了,请使用reptyr <pid> 在您的新控制台上获取该应用程序。 但是如果你关闭了旧终端,所有的终端应用程序可能也会被关闭,所以为时已晚。

    在启动应用程序之前使用screen。这将帮助您从另一个终端重新连接到您的会话。

    【讨论】:

      【解决方案2】:

      作业编号仅指在当前 shell 下运行的后台进程。 shell 无法知道与旧 shell 关联的作业编号。

      【讨论】: