jobs簡介

jobs簡介

    jobs可以顯示當前shell 環境中已啟動的作業狀態。

    用linux的時候經常會碰到類似這種情形,復制,下載一個很大的文件或編輯一個文件,任務占據著界面不能做其他操作,這個時候想不暫?;蛑兄谷蝿杖プ鰟e的操作就可以將正在執行的命令送往后臺去運行。


作業:作業號

    # jobs

作業控制命令:

    # fg [[%]JOBNUM] :將制定命令調回前臺

    # bg [[%]JOBNUM] :讓送往后臺的作業在后臺繼續運行

    # kill %JOBNUM :終止制定的作業

            fg,bg的時候:%可以省略

            kill %JOBNUM :%不可省略

       PS:"n"為jobs查看到的進程編號.

fg、bg、jobs、&、ctrl + z都是跟系統任務有關的,雖然現在基本上不怎么需要用到這些命令,但學會了也是很實用的

& :這個用在一個命令的最后,可以把這個命令放到后臺執行

ctrl + z:可以將一個正在前臺執行的命令放到后臺,并且暫停

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

             如果 JobID 參數沒有指定特定作業,就顯示所有的活動的作業的狀態信息。如果報告了一個作業的終止,shell 從當前的 shell 環境已知的列表中刪除作業的進程標識。

fg:將后臺中的命令調至前臺繼續運行
            如果后臺中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的后臺正在執行的命令的序號(不是pid)


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

    如果后臺中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的后臺正在執行的命令的序號(不是pid)


細節,講解

概念:當前任務 

  如果后臺的任務號有2個,[1],[2];如果當第一個后臺任務順利執行完畢,第二個后臺任務還在執行中時,當前任務便會自動變成后臺任務號碼“[2]”的后臺任務。所以可以得出一點,即當前任務是會變動的。當用戶輸入“fg”、“bg”和“stop”等命令時,如果不加任何引號,則所變動的均是當前任務。

察看jobs 
  使用jobs或ps命令可以察看正在執行的jobs。 

  jobs命令執行的結果,+表示是一個當前的作業,減號表是是一個當前作業之后的一個作業,jobs -l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped, Terminated,但是如果任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的進程標識;也就是說,jobs命令顯示的是當前shell環境中所起的后臺正在運行或者被掛起的任務信息;

進程的掛起 

  后臺進程的掛起: 

  在solaris中通過stop命令執行,通過jobs命令查看job號(假設為num),然后執行stop %num;

  在redhat中,不存在stop命令,可通過執行命令kill -stop PID,將進程掛起;

  當要重新執行當前被掛起的任務時,通過bg %num 即可將掛起的job的狀態由stopped改為running,仍在后臺執行;當需要改為在前臺執行時,執行命令fg %num即可;

前臺進程的掛起:

  ctrl+Z;

進程的終止 

       后臺進程的終止:
          方法一:

              通過jobs命令查看job號(假設為num),然后執行kill %num

          方法二:

              通過ps命令查看job的進程號(PID,假設為pid),然后執行kill pid 

      前臺進程的終止:

          ctrl+c



擴展知識:

kill的其他作用 
  kill除了可以終止進程,還能給進程發送其它信號,使用kill -l 可以察看kill支持的信號。 

  SIGTERM是不帶參數時kill發送的信號,意思是要進程終止運行,但執行與否還得看進程是否支持。如果進程還沒有終止,可以使用kill -SIGKILL pid,這是由內核來終止進程,進程不能監聽這個信號。

關閉終端,此終端的后臺job繼續運行

    按照上面的方法在當前終端運行的命令將他們調到后臺去后,如果關閉了終端這些后臺的jobs都會關閉。假如我們登陸到服務器下載一個東西,下載的很慢,下班時間到了,總不能不關掉電腦回家吧,這個時候介紹一個新命令

    nohup,

    nohup /root/start.sh & 

    在shell中回車后提示:

    [~]$ appending output to nohup.out

   原程序的的標準輸出被自動改向到當前目錄下的nohup.out文件,起到了log的作用。

    關于nohup的詳細使用,可以查看我以后的博客。

原創文章,作者:瓶云,如若轉載,請注明出處:http://www.www58058.com/4707

(0)
瓶云瓶云
上一篇 2015-05-23
下一篇 2015-05-25

相關推薦

  • 第四周作業

    1. 復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限 [root@localhost ~]# chmod -R g=,o=  /home/tuser1 [root@localhost home]# ll drwx——  3 root&…

    Linux干貨 2016-12-26
  • N22-love cat第19周 – 基于Apache + Tomcat +2種模式實現負載均衡以及配置集群seesion服務

      基于Apache+Tomcat實現負載均衡和集群服務 一、概念     從Tomcat權威指南中的測試數據,我們不難發現,對于靜態頁面的數據,Tomcat的處理速度比Apache要快很多,所以為什么要整合apache雖然在處理靜態頁面速度上比Apache快,但是Tomcat經不起大的并發量容易死。為此,我們就需要A…

    Linux干貨 2016-08-29
  • 馬哥教育網絡班21期+第14周課程練習

    iptables關鍵點 表:filter(過濾,防火墻);nat(網絡地址轉換);mangle(拆解報文,做出修改,封裝報文);raw(關閉nat表啟用的鏈接追蹤機制);上述是根據功能來區分的,寫規則要明白要實現的功能 鏈:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING 數據流向:流入PREROUTING–…

    Linux干貨 2016-08-26
  • LAMP

    練習:編譯安裝amp,提供兩個基于主機名的虛擬主機      (1) https, 部署pma      (2) 部署wordpress 編譯安裝: mariadb: # wget 10.1.0.1:/pub/Sources/7.x86_64/mariadb/…

    Linux干貨 2016-10-12
  • 計算機編程簡史圖

       這個圖片太經典了,本來想翻譯的,后來覺得這么經典的圖片可能早已被人翻譯了,簡單的Google一下,果然有人翻譯了。那我就把英文版和中文版都轉過來吧。我們可以看到,其中很大一部分人都和Unix有著不解之緣(參見《Unix傳奇上篇,Unix傳奇下篇》) 英文原版 中文翻譯版 什么也不說了,直接上圖(圖片比較大,單擊圖片看大圖) 計算機編…

    Linux干貨 2015-04-02
  • 日志系統

    日志管理 發送日志命令,通知用戶:logger ?-p ?local7.info “this is a test log” Local#.info 為自定義到文件或目錄,或用戶的級別 日志遠程存儲需要啟動514端口,在centos7上需要取消注釋 Uptime可以查看開機時間 rsyslog特性:CentOS6和7 ü多線程 üUDP…

    Linux干貨 2018-02-01
欧美性久久久久