如何退出命令行输入使用者而不停止其程序?

Sep*_*eed 2 command-line bash suspend

我知道用于退出正在运行的命令输入使用者的两个命令是 ctrl^d (挂起)和 ctrl^c (停止)。

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

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

ste*_*ver 5

您可以暂停该程序,然后将其置于 shell 的后台。

要暂停正在运行的作业,请使用Ctrl+ Z- shell 应该响应,在括号中提供作业 ID。然后您可以使用后台作业

bg <job id>
Run Code Online (Sandbox Code Playgroud)

前任。用于sleep模仿您的长时间运行的过程:

$ sleep 100
^Z
[1]+  Stopped                 sleep 100
$ 
$ bg 1
[1]+ sleep 100 &
$ 
Run Code Online (Sandbox Code Playgroud)

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

有关更多信息,请参阅JOB CONTROL部分man bash