[轉] linux中巧用ctrl-z后台運行程序


背景:

最近在執行一些長時間程序的時候,老是一不小心忘了輸入‘&’ , 結果終端就卡在那里了,很是郁悶

以前總是再新開一個終端。

今天翻看《鳥哥的linux私房菜》的時候,發現介紹vim的時候介紹了一個ctrl-z命令可以將當前的程序切到后台,很好用!可是怎么再切回去呢?搜了下,見下文:

 

-----------轉載自:http://blog.chinaunix.net/uid-10219166-id-2968756.html

----------- 以下是原文
    假設你發現前台運行的一個程序需要很長的時間,但是需要干其他的事情,你就可以用 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:

    zuii@zuii-desktop:~/unp/tcpcliserv$ ./tcpserv01

    *這里使用CTRL+Z,此時serv01是停止狀態*

    [1]+ Stopped ./tcpserv01

    zuii@zuii-desktop:~/unp/tcpcliserv$ bg

    [1]+ ./tcpserv01 & *此時serv01運行在后台*

    zuii@zuii-desktop:~/unp/tcpcliserv$

    (2)如果用CTRL+Z停止了幾個程序呢?

    Example:

    zuii@zuii-desktop:~/unp/tcpcliserv$ jobs

    [1]- Running ./tcpserv01 &

    [2]+ Stopped ./tcpcli01 127.0.0.1

    zuii@zuii-desktop:~/unp/tcpcliserv$ bg %1

    bash: bg:任務 1 已轉入后台 *后台運行*

    2. 使進程恢復至前台運行

    Example:

    zuii@zuii-desktop:~/unp/tcpcliserv$ ./tcpserv04

    [1]+ Stopped ./tcpserv04

    zuii@zuii-desktop:~/unp/tcpcliserv$ fg

    。/tcpserv04

    總結:

    (1) CTRL+Z停止進程並放入后台

    (2) jobs 顯示當前暫停的進程

    (3) bg %N 使第N個任務在后台運行(%前有空格)

    (4) fg %N 使第N個任務在前台運行

    默認bg,fg不帶%N時表示對最后一個進程操作!

 

--------- 以上是原文

后記: 《鳥哥的linux私房菜》后面也有章節介紹fg和bg,只是當時還沒看到

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM