如何禁止显示以前的作业详细信息?

如何禁止显示以前的作业详细信息?

当我在后台运行进程时,进程 ID 会显示在命令提示符中。例如:

$ gvim 1 &

[3] 9584

现在,当我运行另一个进程时,前一个进程的状态也会显示。例如:

$ gvim 2 &

[4] 9500

[3]   Done                    gvimBackground 1 

有什么办法可以抑制显示当前PID和与先前进程相关的数据吗?

答案1

把你的整个命令,包括&在括号内:

 (迅速的)$gvim 1 &
[3] 9584
 (迅速的)$其他一些命令
[3] Done gvimBackground 1
 (迅速的)$(gvim 1 &
                                                                <——(沉默)
 (迅速的)$

答案2

与其说当您开始一项新作业时会报告其他作业的状态,不如说默认情况下仅在显示提示之前报告状态的更改。因此,就您而言,它会在第一次机会时报告,即在您开始第二项工作后显示的提示时报告。

您可以通过发出以下命令使作业报告同步:

set -b

在这种情况下,有关后台作业完成或暂停的报告会在发生时立即完成,您无需等待下一个提示。

如果您不想收到作业完成的通知,正如 @Scott 所说,您可以将其作为 subshel​​l 的作业启动(job &),或者disown使用disown命令(或使用 zsh,将其启动为job &!),但请注意,这意味着您无法将其放回前台或使用作业编号杀死它。

相关内容