📅  最后修改于: 2023-12-03 15:10:11.090000             🧑  作者: Mango
在Shell/ Bash 环境下,我们可以将一个进程/任务提交到后台,这样就可以让我们的终端窗口继续响应用户的输入,同时也不会因为前台任务长时间运行而占用终端窗口。
以下是将任务提交到后台的相关操作:
在命令末尾加上“&”符号即可将任务放到后台。
$ command &
这样做会直接将命令放入后台运行,而不会在当前终端窗口显示输出。
bg
命令使用bg
命令可以将正在前台运行的任务转移到后台。
首先需要使用Ctrl+Z
将任务挂起,然后输入bg
即可将任务放入后台运行。
$ command
# 使用 Ctrl+Z 将任务挂起
$ bg
nohup
命令使用nohup
命令可以将任务提交到后台,即使关闭当前终端窗口,任务依然会继续运行。
$ nohup command &
nohup
命令可以避免在终端窗口关闭时任务被挂起或终止的情况。
screen
命令screen
命令可以在一台机器上支持多个终端会话,并且可以在会话之间切换。
启动一个新的screen会话:
$ screen
在screen会话中运行命令:
$ command
然后使用Ctrl+A
和d
组合键可以将会话切换到后台。
以上是将任务提交到后台的四种方法。在实际开发中,根据不同需求,可以选择不同的方法。
如果需要在当前终端窗口能够看到命令输出,但仍希望将任务放到后台运行,可以使用第一种方法。
如果需要将正在前台运行的任务转移到后台,可以使用第二种方法。
如果希望任务在关闭终端窗口后依然能够继续运行,可以使用第三种方法。
如果需要在一台机器上支持多个终端会话,并且可以在会话之间切换,可以使用第四种方法。
无论使用哪种方法,都可以让我们更加高效地使用Shell/ Bash 进行开发。