每天一个linux命令,每天进步一点点...
- 名称:bg、 fg、 jobs
- 作用:bg - 切换后台运行; fg - 切换前台运行; jobs - 显示后台进程信息
- 格式:
bg [任务号]
fg [任务号]
jobs [参数] [任务号(可选)]
# jobs参数说明:
-l: 显示详细信息
-p: 仅显示进程号
-r: 仅显示运行中的进程
- 让进程在前后台灵活切换
我们可以通过在程序后面添加“&”来让程序启动后就在后台执行,但是如果程序启动之后还需要与用户进行交互,那么这种方法将不再适用(比如远程传输命令scp,在启动之后需要用户键入用户密码)。在远程传输大文件时,如果一直让程序在前台执行很容易掉线,这种时候我们可以换一种思路,即先在前台启动程序,当输入完密码开始传输数据之后,再将进程切换到后台运行。具体步骤如下:# 远程传输文件 $ scp -P 2222 ideaIU-2016.1.3.tar.gz root@10.254.111.32:/home/ # 这个时候命令会请求输入密码 # 输入完密码之后开始传输 ideaIU-2016.1.3.tar.gz 1% 7328KB 1.9MB/s 03:58 # 执行“CTRL+Z”挂起程序 [1]+ 已停止 scp -P 2222 ideaIU-2016.1.3.tar.gz root@10.254.111.32:/home/ # 利用bg命令将任务切换到后台执行 bg 1 # 1就是该进程的任务号,对应上面中括号里面的数字 # 利用jobs显示后台运行的进程 $ jobs [1]+ 运行中 scp -P 2222 ideaIU-2016.1.3.tar.gz root@10.254.112.32:/home/ & # 来点jobs命令展示 $ jobs -l 1 [1]+ 24294 运行中 scp -P 2222 ideaIU-2016.1.3.tar.gz root@10.254.112.32:/home/ & $ jobs -p 24294 $ jobs -r [1]+ 运行中 scp -P 2222 ideaIU-2016.1.3.tar.gz root@10.254.112.32:/home/ & # 利用fg命令将任务切回前台执行 $ fg 1 scp -P 2222 ideaIU-2016.1.3.tar.gz root@10.254.112.32:/home/ ideaIU-2016.1.3.tar.gz 13% 61MB 1.1MB/s 06:17