<tbody id="xj1oc"></tbody>

    <bdo id="xj1oc"></bdo><bdo id="xj1oc"><optgroup id="xj1oc"><thead id="xj1oc"></thead></optgroup></bdo>

    現在的位置: 首頁 > 算法 > 正文

    Linux前后臺作業是什么? Linux前后臺作業有哪些常用命令

    2020年05月25日 算法 ⁄ 共 3299字 ⁄ 字號 評論關閉

      Linuxbashshell單一終端界面下,我們經常需要管理或同時完成多個作業,如一邊執行編譯,一邊實現數據備份,以及執行SQL查詢等其他的任務。所有的上述的這些工作我們可以在一個bash內實現,也就是說在同一個終端窗口完成。下面學步園小編來講解下Linux前后臺作業是什么?Linux前后臺作業有哪些常用命令?

      Linux前后臺作業是什么

      前后臺作業實際上對應的也就是前后臺進程,因此也就有對應的pid。在這里我們統稱為作業。

      無論是前臺作業還是后臺作業,兩者都來自當前的shell,是當前shell的子程序。

      下面是兩者的定義。

      前臺作業:可以由用戶參與交互及控制的作業我們稱之為前臺作業。

      后臺作業:在內存可以自運行的作業,用戶無法參與交互以及使用[ctrl]+c來終止,只能通過bg或fg來調用該作業。

      Linux前后臺作業有哪些常用命令

      a、command&直接讓作業進入后臺運行

      b、[ctrl]+z將當前作業切換到后臺

      c、jobs查看后臺作業狀態

      d、fg%n讓后臺運行的作業n切換到前臺來

      d、bg%n讓指定的作業n在后臺運行

      e、kill%n移除指定的作業n

      "n"為jobs命令查看到的job編號,不是進程id。

      每一個job會有一個對應的job編號,編號在當前的終端從1開始分配。

      job編號的使用樣式為[n],后面可能會跟有"+"號或者"-"號,或者什么也不跟。

      "+"號表示最近的一個job,"-"號表示倒數第二個被執行的Job。注,"+"號與"-"號會隨著作業的完成或添加而動態發生變化。

      通過jobs方式來管理作業,當前終端的作業在其他終端不可見。

      3、演示后臺作業命令

      a、直接將作業放入到后臺(附加&符號)

      robin@SZDB:/tmp>tar-czvftemp.tar.gztempSYBO2SZ.dbf&

      [1]12500

      robin@SZDB:/tmp>tempSYBO2SZ.dbf

      robin@SZDB:/tmp>#此時可進行其它操作,作業一旦完成,會彈出如下的提示

      [1]+Donetar-czvftemp.tar.gztempSYBO2SZ.dbf

      robin@SZDB:/tmp>ls-hltrtemp*

      -rwxr-xr-x1robinoinstall490M2013-05-0217:48tempSYBO2SZ.dbf

      -rw-r--r--1robinoinstall174M2013-05-0217:50temp.tar.gz

      b、已經開始執行,但需要放入后臺(使用[ctrl]+z)

      robin@SZDB:/tmp>tar-czvftemp2.tar.gztempSYBO2SZ.dbf

      tempSYBO2SZ.dbf

      [1]+Stoppedtar-czvftemp2.tar.gztempSYBO2SZ.dbf

      robin@SZDB:/tmp>jobs

      [1]+Stoppedtar-czvftemp2.tar.gztempSYBO2SZ.dbf

      #下面同時發布兩個作業,并且在中途按下[ctrl]+z以便將當前作業提交到后臺

      robin@SZDB:/tmp>find/u02-typef-size+100000k

      robin@SZDB:/tmp>find/-typef-size+100000k

      #再次查看當前的jobs時,jobs管理器里出現了3個處于stopp狀態的job

      robin@SZDB:/tmp>jobs

      [1]Stoppedtar-czvftemp2.tar.gztempSYBO2SZ.dbf

      [2]-Stoppedfind/-typef-size+100000k

      [3]+Stoppedfind/u02-typef-size+100000k

      robin@SZDB:/tmp>jobs-l#使用-l參數查看當前shell下所有的作業以及對應的jobnumber,進程pid

      [1]32682Stoppedtar-czvftemp2.tar.gztempSYBO2SZ.dbf

      [2]-32687Stoppedfind/u02-typef-size+100000k

      [3]+32707Stoppedfind/-typef-size+100000k

      #下面通過pid可以查看到對應的進程信息

      robin@SZDB:/tmp>ps-ef|grep32707|grep-vgrep

      robin3270732095009:48pts/100:00:00find/-typef-size+100000

      robin@SZDB:/tmp>tty#當前終端的信息為pts/1

      /dev/pts/1

      #打開另外一個終端

      robin@SZDB:~>tty

      /dev/pts/3

      robin@SZDB:~>jobs#此時可以看到jobs命令無任何返回

      robin@SZDB:~>ps-ef|grep32707|grep-vgrep#僅僅根據進程id可以找到對應的作業

      robin3270732095009:48pts/100:00:00find/-typef-size+100000

      #由上可知,對于當前shell下的jobs,僅當前shell(終端)可見

      c、將后臺作業切換到前臺(fg命令)

      robin@SZDB:/tmp>fg#省略Jobnumber的情形,則將缺省的job切換到前臺

      find/-typef-size+100000k

      /u02/database/old/CNMMBOBK/undo/undotbsCNMMBOBK.dbf

      ......

      [ctrl]+z

      robin@SZDB:/tmp>fg%1

      tar-czvftemp2.tar.gztempSYBO2SZ.dbf

      robin@SZDB:/tmp>jobs

      [2]-Stoppedfind/u02-typef-size+100000k

      [3]+Stoppedfind/-typef-size+100000k

      d、運行后臺中暫停的作業(bg命令)

      #前面有2個job處于stopped狀態,現在我們讓其在后臺運行,直接輸入bg命令則缺省的job繼續運行,否則輸入job編號,運行指定的job

      robin@SZDB:/tmp>bg2#輸入bg2之后,可以看到原來的命令后被追加了&

      [2]-find/u02-typef-size+100000k&

      robin@SZDB:/tmp>jobs

      [2]-Runningfind/u02-typef-size+100000k&

      [3]+Stoppedfind/-typef-size+100000k

      e、移除指定的作業n(kill)

      robin@SZDB:/tmp>jobs

      [3]+Stoppedfind/-typef-size+100000k

      robin@SZDB:/tmp>kill-9%3#強制終止job3,注意,此處的%不可省略

      robin@SZDB:/tmp>jobs

      [3]+Killedfind/-typef-size+100000k

      robin@SZDB:/tmp>jobs

      #kill-9表明強制終止指定的Job,-15則表明是正常終止指定的job。kill-l則列出kill能夠使用的所有信號

      #對于上述命令的詳細幫助,使用mancommand來獲取幫助信息

      f、帶參shell腳本的后臺處理

      #下面是一個測試用的shell腳本

      robin@SZDB:~/dba_scripts/custom/bin>moreecho_time.sh

      #!/bin/bash

      以上就是關于“Linux前后臺作業是什么?Linux前后臺作業有哪些常用命令”的內容,希望對大家有用。更多資訊請關注學步園。學步園,您學習IT技術的優質平臺!

    抱歉!評論已關閉.

    黄色电影网址