bg,fg,job命令詳解

  

基礎命令學習目錄首頁html

 

原文連接:http://www.cnblogs.com/chjbbs/p/6307333.htmllinux

linux提供的fg和bg命令,可讓咱們輕鬆調度正在運行的任務shell

  假如你發現前天運行的一個程序須要很長的時間,可是須要幹前天的事情,你就能夠用ctrl-z掛起這個程序,而後能夠看到系統的提示:post

[1]+ Stopped /root/bin/rsync.sh學習

而後咱們能夠吧程序調度到後臺執行:(bg 做業號).net

#bg 1
[1]+ /root/bin/rsync.sh &code

用jobs命令查看任務htm

#jobsblog

[1]+ Running /root/bin/rsync.sh &進程

把它調回到控制檯運行

#fg 1

/root/bin/rsync.sh

這樣,你這控制檯上就只有等待這個任務完成了。

fg、bg、jobs、&、 ctrl+z都是跟系統任務有關的,學會了至關的實用

1、&最常常被用到

這個用在一個命令的最後,能夠把這個命令放到後臺執行

2、ctrl + z

能夠將一個正在前臺執行的命令放到後臺,而且暫停

3、jobs

查看當前有多少在後臺運行的命令

4、fg

將後臺中的命令調至前臺繼續運行

若是後臺有多個命令,能夠用fg %jobnumber將選中的命令調出,%jobnumber是經過jobs命令查到的後臺正在執行的命令的序號(不是pid)

5、bg

將一個在後臺暫停的命令,變成繼續執行

若是後臺有多個命令,能夠用bg %jobnumber將選中的命令調出,%jobnumber是經過jobs命令查到的後臺正在執行的命令的序號(不是pid)

 

原文連接:https://www.cnblogs.com/cy-8593/p/9523605.html

1、命令詳解

  1. & 加在一個命令的最後,能夠把這個命令放到後臺執行;如:gftp &

  2. ctrl + z 能夠將一個正在前臺執行的命令放到後臺,而且處於暫停狀態,不可執行;

  3. jobs 查看當前有多少在後臺運行的命令;
    參數:-l選項可顯示全部任務的PID;

    jobs的狀態能夠是runningstoppedTerminated;可是若是任務被終止了(kill),任務將從當前shell環境已知的列表中刪除任務的進程標識;也就是說,jobs命令顯示的是當前shell環境中所起的後臺正在運行或被掛起的任務信息;

  4. fg 將後臺中的命令調至前臺繼續運行
    若是後臺中有多個命令,能夠用fg %jobnumber將選中的命令調出,%jobnumber是經過jobs命令查到的後臺正在執行的命令的序號(不是pid)

  5. bg 將一個在後臺暫停的命令,變成繼續執行 (在後臺執行)
    若是後臺中有多個命令,能夠用bg %jobnumber將選中的命令調出,%jobnumber是經過jobs命令查到的後臺正在執行的命令的序號(不是pid)
    將任務轉移到後臺運行:先ctrl + z暫停;再bg,這樣進程就被移到後臺運行,終端還能繼續接受命令。

    概念:當前任務
    若是後臺的任務號有2個[1],[2];若是當第一個後臺任務順利執行完畢,第二個後臺任務還在執行中時,當前任務便會自動變成後臺任務[2]的後臺任務。因此能夠得出一點,即當前任務是會變更的;當用戶輸入fgbgstop等命令時,若是不加任何序號,則所變更的均是當前任務。

  6. nohup 該命令能夠在你退出賬戶/關閉終端以後繼續運行相應的進程
    若是你正在運行一個進程,並且你以爲在退出賬戶時該進程還不會結束,那麼可使用nohup命令。

2、進程的終止

  1. 後臺進程的終止
  • 方法一:
    經過jobs命令查看job號(假設爲num),而後執行kill %num
  • 方法二:
    經過ps命令查看job的進程號(PID,假設爲pid),而後執行kill pid
  1. 前臺進程的終止:ctrl+c

    • kill的其餘做用:kill除了能夠終止進程,還能給進程發送其它信號,使用kill -l能夠察看kill支持的信號。
    • SIGTERM是不帶參數時kill發送的信號,意思是要進程終止運行,但執行與否還得看進程是否支持。若是進程尚未終止,可使用kill -SIGKILL pid,這是由內核來終止進程,進程不能監聽這個信號。

3、進程的掛起(暫停)

    1. 後臺進程的掛起
      • 在solaris中經過stop命令執行,經過jobs命令查看job號(假設爲num),而後執行stop %num;
      • 在redhat中,不存在stop命令,可經過執行命令kill -stop PID,將進程掛起;
      • 當要從新執行當前被掛起的任務時,經過bg %num 便可將掛起的job的狀態由stopped改成running,仍在後臺執行;當須要改成在前臺執行時,執行命令fg %num便可;
    2. 前臺進程的掛起:ctrl+Z
      • 使用jobs查看任務;使用fg %n繼續運行。

轉載自  https://blog.csdn.net/carolzhang8406/article/details/51314894

linux下咱們若是想一個任務或者程序在後臺執行可使用&,實際上linux還提供了其餘任務調度的命令。

bg
將一個在後臺暫停的命令,變成繼續執行

fg
將後臺中的命令調至前臺繼續運行

jobs
查看當前有多少在後臺運行的命令

ctrl + z

能夠將一個正在前臺執行的命令放到後臺,而且暫停

kill %num

殺掉當前某個後臺任務,用 jobs 能夠查看到當前任務的序號,以下圖:要殺掉這個後臺任務,只須要 kill %1 就好了

相關文章
相關標籤/搜索