如何在不停止其程序的情况下退出命令行输入消费者?

如何在不停止其程序的情况下退出命令行输入消费者?

我知道的退出正在运行的命令输入消费者的两个命令是 ctrl^d(暂停)和 ctrl^c(停止)。

也许还有第三条命令说“你继续前进,但我想回到 bash”。

本质上,我有一个程序,它在运行时会启动并显示大量有用信息,然后从那时起只记录连接。我对启动信息感兴趣,但一旦进入记录连接部分,我想回到启动之前的位置,如果我使用 ctrl^c,我就会回到那里。

答案1

你可以暂停该程序,然后将其放置在 shell 的后台。

要暂停正在运行的作业,请使用Ctrl+ Z- shell 应该会响应并在括号中给出作业 ID。然后,您可以使用以下方式将作业置于后台

bg <job id>

例如用来sleep模拟你的长期运行的过程:

$ sleep 100
^Z
[1]+  Stopped                 sleep 100
$ 
$ bg 1
[1]+ sleep 100 &
$ 

您可以使用 获取正在运行的后台作业列表jobs,并且如果您愿意,可以使用 再次将该作业置于前台fg <job id>

有关详细信息,请参阅JOB CONTROL部分man bash

相关内容