之前用過管道符 |,它用於將前一個指令的輸出作爲後一個指定的輸入
| 管道符
[root@evan-01 ~]# cat 1.txt
1.txt
2.txt
[root@evan-01 ~]# cat 1.txt | wc -l
2
[root@evan-01 ~]#
作業控制
當運行進程時,你可以使它暫停(Ctrl+Z組合鍵)然後使用 fg(foreground 的簡寫)命令恢復它,或是利用 bg (background 的簡寫) 命令使它到後臺運行。此外,你也可以使他終止(Ctrl+C組合鍵)
Ctrl+z 暫停任務
[root@evan-01 ~]# vim 1.txt
隨便輸入一些內容,寫着寫着,突然想起來要做下其他事情,比如查看磁盤使用、查看1.txt。那麼此時,我們就可以按下 ESC 鍵,然後使用 Ctrl+Z 組合鍵暫停
暫停後不耽誤去做別的事情
[root@evan-01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 2.9G 15G 17% /
devtmpfs 482M 0 482M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 1014M 125M 890M 13% /boot
tmpfs 99M 0 99M 0% /run/user/0
[root@evan-01 ~]# cat 1.txt
1.txt
2.txt
[root@evan-01 ~]#
fg 恢復
使用 fg 命令恢復它,此時又進入了剛纔的 vim 窗口了
jobs 查看被暫停在後臺運行的任務
再按下 ctrl+z 暫停,打開個文件 2.txt,再按ctrl+z
[root@evan-01 ~]# jobs
[1]- Stopped vim 1.txt
[2]+ Stopped vim 1.txt
[root@evan-01 ~]#
想恢復其中的某一個就 fg id
[root@evan-01 ~]# fg 1
bg 把暫停的任務放在後臺重新運行
vmstat 1 是用來觀察系統狀態的一個命令,後面會講到
執行 vmstat 1 > 3.txt 後按 ctrl+z 暫停
[root@evan-01 ~]# vmstat 1 > 3.txt
^Z
[3]+ Stopped vmstat 1 > 3.txt
[root@evan-01 ~]#
job查看當前被暫停在後臺的任務
[root@evan-01 ~]# vmstat 1 > 3.txt
^Z
[3]+ Stopped vmstat 1 > 3.txt
[root@evan-01 ~]# jobs
[1]- Stopped vim 1.txt
[2] Stopped vim 1.txt
[3]+ Stopped vmstat 1 > 3.txt
[root@evan-01 ~]#
按 bg 3 讓它在後臺運行
[root@evan-01 ~]# bg 3
[3]+ vmstat 1 > 3.txt &
[root@evan-01 ~]# jobs
[1]+ Stopped vim 1.txt
[2] Stopped vim 1.txt
[3]- Running vmstat 1 > 3.txt &
[root@evan-01 ~]#
命令 & 直接丟到後臺
[root@evan-01 ~]# sleep 1000 &
[4] 1407
[root@evan-01 ~]# jobs
[1]+ Stopped vim 1.txt
[2] Stopped vim 1.txt
[3] Running vmstat 1 > 3.txt &
[4]- Running sleep 1000 &
[root@evan-01 ~]# sleep 2000 &
[5] 1408
[root@evan-01 ~]# jobs
[1]+ Stopped vim 1.txt
[2] Stopped vim 1.txt
[3] Running vmstat 1 > 3.txt &
[4] Running sleep 1000 &
[5]- Running sleep 2000 &
[root@evan-01 ~]#
ps aux 查看進程
再重新打開個終端,輸入 jobs 沒反應,如果你知道進程的命令關鍵字,就可以查到
ps aux 查看進程
[root@evan-01 ~]# ps aux | grep sleep
root 1407 0.0 0.0 107952 616 pts/0 S 16:25 0:00 sleep 1000
root 1408 0.0 0.0 107952 612 pts/0 S 16:26 0:00 sleep 2000
root 1429 0.0 0.0 112708 984 pts/1 R+ 16:27 0:00 grep --color=auto sleep
[root@evan-01 ~]#
kill 結束進程
如果想結束該進程,需要使用 kill 命令。kill 命令很簡單,直接在後面加 pid 即可。如果遇到結束不了的進程時,可以在 kill 後面加一個選項,即 kill -9 [pid]
[root@evan-01 ~]# ps aux | grep sleep
root 1407 0.0 0.0 107952 616 pts/0 S 16:25 0:00 sleep 1000
root 1408 0.0 0.0 107952 612 pts/0 S 16:26 0:00 sleep 2000
root 1429 0.0 0.0 112708 984 pts/1 R+ 16:27 0:00 grep --color=auto sleep
[root@evan-01 ~]# kill 1407
[root@evan-01 ~]# ps aux | grep sleep
root 1408 0.0 0.0 107952 612 pts/0 S 16:26 0:00 sleep 2000
root 1432 0.0 0.0 112708 984 pts/1 R+ 16:28 0:00 grep --color=auto sleep
[root@evan-01 ~]# kill -9 1408
[root@evan-01 ~]# ps aux | grep sleep
root 1434 0.0 0.0 112708 980 pts/1 R+ 16:28 0:00 grep --color=auto sleep
[root@evan-01 ~]#