一、Shell支持作用控制,有以下命令:
command 讓進程到后台運行
jobs -l 查看后台運行的進程
fg %n 讓后台運行的進程n到前台來
bg %n讓進程n到后台去
PS : "n"為jobs查看到的金城編號
二、執行命令&切換到后台
在linux終端運行命令的時候,在命令尾囧上&符號,就可以讓程序在后台運行
三、切換正在運行的程序到后台
如果程序正在前台運行,可以使用Ctrl+z先把程序暫停,然后用bg %[number] 命令把這個程序放在后台運行,這個步分三步若下:
1、暫停程序運行Ctrl+z
Ctrl+z跟系統任務有關的,Ctrl+z可以將一個正在前台執行的命令放到后台。並且暫停。
[Oracle@linuxidc ~]$ sh ins.sh
[1]+Stopped ins.sh
2、查看暫停的程序
查看jobs使用jobs或ps命令可以察看正在執行的jobs。.
[oracle@linuxidc ~]$ jobs -l
[1]+ 4524Stopped ins.sh
jobs命令執行的結果,+表示是一個當前的作業,-表示當前作業之后的一個作業。
jobs -l 選項可顯示所有任務的PID,jobs的狀態可以是running,stopped。Terminated
3、切換程序之后台
bg 將一個在后台的暫停的命令,變成據需執行弱國后台中有多個命令,可以用bg %jobnumber將選中的命令調出
[oracle@linuxidc ~]$ bg %1
[oracle@linuxidc ~]$ jobs -l
[1]+ 4524Running ins.sh
4.切換程序至前台
也可以用 fg %[number]指令把一個程序掉到前台運行
[oracle@linuxidc ~]$ fg %1
。/tcpserv01
5.終止后台程序
也可以直接終止后台運行的程序,使用 kill 命令
[oracle@linuxidc ~]$ kill %1
但是如果任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的進程標識;也就是說,jobs命令顯示的是當前shell環境中所起的后台正在運行或者被掛起的任務信息。