^Z 是什么意思?

^Z 是什么意思?

我尝试使用 ^Z 发送应用程序到后台(然后用于fg恢复),但我注意到它显示“已停止”,并且在另一个终端中监视 htop 时,一切都冻结了。

有没有办法可以在不停止/暂停进程的情况下发送到后台?

答案1

执行后台作业

在命令中附加一个与号 (&) 将在后台运行作业。

例如,当您执行一个可能需要很长时间执行的 find 命令时,您可以将其放在后台,如下所示。以下示例查找根文件系统下在过去 24 小时内更改的所有文件。

find / -ctime -1 > /tmp/changed-file-list.txt &

使用 CTRL-Z 和 bg 命令将当前前台作业发送到后台

您可以将已经运行的前台作业发送到后台,如下所述:

按 CTRL+Z 将暂停当前的前台作业。执行bg以使该命令在后台执行。例如,如果您忘记在后台执行某个作业,则无需终止当前作业并启动新的后台作业。相反,应暂停当前作业并将其置于后台,如下所示。

find / -ctime -1 > /tmp/changed-file-list.txt

[CTRL-Z]
[2]+  Stopped                 find / -ctime -1 > /tmp/changed-file-list.txt

bg

使用 jobs 命令查看所有后台作业

您可以使用命令作业列出后台作业。 jobs 命令的示例输出是

jobs
[1]   Running                 bash download-file.sh &
[2]-  Running                 evolution &
[3]+  Done                    nautilus .

使用 fg 命令将作业从后台转移到前台

您可以使用命令将后台作业带到前台fg。当不带参数执行时,它将把最近的后台作业带到前台。

弗格

如果您有多个后台作业,并且希望将某个作业带到前台,请执行 jobs 命令,该命令将显示作业 ID 和命令。

在以下示例中,fg %1 会将 job#1(即 download-file.sh)带到前台。

jobs
[1]   Running                 bash download-file.sh &
[2]-  Running                 evolution &
[3]+  Done                    nautilus .

# fg %1

使用kill % 杀死特定的后台作业

如果您想终止特定的后台作业使用,请终止 %job-number。例如,要终止作业 2,请使用

kill %2

以上所有内容均摘自于此关联

相关内容