linux中巧用ctrl-z後臺運行程序
我們知道後臺運行任務時,可以用 () 和 &,但是有的時候我們會忘記加&,對於執行需要很長時間的任務來說,Ctrl+Z可能是一個比較好的把任務轉入後臺的方法。
當我們按下Ctrl+Z時,
[1]+ Stopped /root/bin/rsync.sh
然後我們可以把程序調度到後臺執行:(bg 後面的數字為作業號)
#bg 1
[1]+ /root/bin/rsync.sh &
用 jobs 命令查看正在運行的任務:
#jobs
[1]+ Running /root/bin/rsync.sh &
如果想把它調回到前臺運行,可以用
#fg 1
/root/bin/rsync.sh
這樣,你在控制臺上就只能等待這個任務完成了.
& 將指令丟到後臺中去執行
[ctrl]+z 將前臺任務丟到後臺中暫停
jobs 查看後臺的工作狀態
fg %jobnumber 將後臺的任務拿到前臺來處理
bg %jobnumber 將任務放到後臺中去處理
kill 管理後臺的任務
命令運行時使用CTRL+Z,強制當前進程轉為後臺,並使之停止。
1. 使進程恢復運行(後臺)
(1)使用命令bg
Example:
#:~/unp/tcpcliserv$ ./tcpserv01
*這裏使用CTRL+Z,此時serv01是停止狀態*
[1]+ Stopped ./tcpserv01
#:~/unp/tcpcliserv$ bg
[1]+ ./tcpserv01 & *此時serv01運行在後臺*
#:~/unp/tcpcliserv$
(2)如果用CTRL+Z停止了幾個程序呢?
Example:
#:~/unp/tcpcliserv$ jobs
[1]- Running ./tcpserv01 &
[2]+ Stopped ./tcpcli01 127.0.0.1
#:~/unp/tcpcliserv$ bg %1
bash: bg:任務 1 已轉入後臺 *後臺運行*
2. 使進程恢復至前臺運行
Example:
#:~/unp/tcpcliserv$ ./tcpserv04
[1]+ Stopped ./tcpserv04
#:~/unp/tcpcliserv$ fg
。/tcpserv04
總結:
(1) CTRL+Z停止進程並放入後臺
(2) jobs 顯示當前暫停的進程
(3) bg %N 使第N個任務在後臺運行(%前有空格)
(4) fg %N 使第N個任務在前臺運行
默認bg,fg不帶%N時表示對最後一個進程操作
本文轉載自:http://blog.chinaunix.net/uid-10219166-id-2968756.html
linux中巧用ctrl-z後臺運行程序