linux作業管理

作業管理

kill

kill命令:
    向進程發送控制信號,以實現對進程管理
    顯示當前系統可用信號:kill -l
    常用信號:man 7 signal
        1) SIGHUP: 無須關閉進程而讓其重讀配置文件
        2) SIGINT: 中止正在運行的進程;相當于Ctrl+c
        9) SIGKILL: 殺死正在運行的進程
        15) SIGTERM:終止正在運行的進程
        18) SIGCONT:  相當于使用 bg PID 將其激活。
        19) SIGSTOP: ctrl+z
    指定信號的方法:
        (1) 信號的數字標識;1, 2, 9
        (2) 信號完整名稱;SIGHUP
        (3) 信號的簡寫名稱;HUP

kill
按PID:kill [-SIGNAL] pid…
對指定進程操作發送信號

killall
按名稱:killall[-SIGNAL] comm…
對一類進程進行操作發送信號
killall -9 ping 殺死所有的ping進程

pkill
按模式:pkill[options] pattern
-SIGNAL
-u uid: effective user,生效者
-U uid: real user,真正發起運行命令者
-t terminal: 與指定終端相關的進程
-l: 顯示進程名
-a: 顯示完整格式的進程名
-P pid: 顯示父進程為此處指定的進程的進程列表

    可以針對進程的屬性關閉一類程序

信號也是可以捕捉的,但是15號信號是不能捕捉的。腳本編程可以使用

kill名稱是殺死,實際上是用戶通過它像指定進程發送信號(進程間通信的一種方式)。
只是發送信號


Linux的作業控制
前臺作業:通過終端啟動,且啟動后一直占據終端;
后臺作業:可通過終端啟動,但啟動后即轉入后臺運行(釋放終端)
如何讓作業運行于后臺?
(1) 運行中的作業:Ctrl+z
(2) 尚未啟動的作業:# COMMAND &

例:
使用ping命令,ping一個地址,屏幕就會被ping命令占用,不能做任何事。
是用ctrl+z鍵可以將ping命令送到后臺執行,使用該方式送到后臺后,ping會停止運行處于stopped狀態,使用kill名 kill -18 PID(ping) 可以將ping喚醒 。但是ping的命令輸出結果還是會輸出到標準輸出上。
屏幕上會有ping的結果,但是不影響執行命令,可以輸入命令并執行,但是屏幕上輸出結果看著比較亂。
使用ctrl+c不能關閉ping了。

[root@yangyouwei ~]# jobs
[1]+  Stopped                 ping 127.0.0.1
[root@yangyouwei ~]# kill -18 38885 
當然也可以使用kill 將其關閉
也可以使用jobs查看其作業號,使用fg JOB_NUM 將其調到前臺來。在使用ctrl+c終止

相當于 kill -19 PID
    [root@yangyouwei ~]#ping 127.0.0.1 ##開啟一個ping進程
    [root@yangyouwei ~]# pgrep ping  查詢ping的PID
    38975
    [root@yangyouwei ~]# kill -19 38975     ##發送19信號使其調入后臺處于停止狀態。(stopped)
    [3]+  Stopped                 ping 127.0.0.2
    [root@yangyouwei ~]# 

放入后臺后又可能是休眠有可能是繼續運行。ping使用&放入后臺后是可以繼續運行,但是例如vim放入后臺就是stopped(因為vim是交互式命令)

nohup

此類后臺作業雖然被送往后臺運行,但其依然與終端相關;退出終端,將關閉后臺作業。如果希望送往后臺后,剝離與終端的關系:
# nohup COMMAND &  

nohup ping 127.0.0.1 &
送到后臺后,關閉終端,ping進程也不會關閉。init進程接管。但是使用jobs看不到了

查看所有作業:

# jobs

作業控制:

# fg [[%]JOB_NUM]:把指定的后臺作業調回前臺;
    front ground 

# bg [[%]JOB_NUM]:讓送往后臺的作業在后臺繼續運行;
    back ground

將后臺的進程(stopped狀態)激活,使其在后臺繼續運行。
相當于kill -18 PID

    [root@yangyouwei ~]# jobs
    [1]+  Stopped                 ping 127.0.0.1
    [root@yangyouwei ~]# bg 1
    [root@yangyouwei ~]# jobs
    [1]+  running                 ping 127.0.0.1


# kill [%JOB_NUM]:終止指定的作業;

fg、bg、kill使用時。kill要針對jobs操作,必須使用%號, 否者操作的是對應號碼的PID 進程
kill %job_NUM

并行運行

vi f4.sh ###通過腳本調用,同時執行123腳本

    F1.sh&
    F2.sh&
    F3.sh&

注:如果將將三個腳本的代碼放入一個腳本中,執行順序是執行完f1段代碼再執行f2段代碼…

((f1.sh&);(f2.sh&);(f3.sh&)) ##每個命令或腳本開啟一個shell后執行。

{ f1.sh& f2.sh& f3.sh& }  ##在當前shell下同時運行三個命令或腳本

進程優先級

進程優先級調整:
    靜態優先級:100-139
    進程默認啟動時的nice值為0,優先級為12
    只有根用戶才能降低nice值(提高優先性)

nice命令:
    nice [OPTION] [COMMAND [ARG]...] 
    使用-n 因為優先級有正數和負數,使用-n更容易看清楚

renice命令:  ##修改已經運行的進程的優先級

    renice [-n] priority pid...
    使用-n 因為優先級有正數和負數,使用-n更容易看清楚

查看:
    ps axo pid,comm,ni

注:普通用戶只能把進程的優先級調低。

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

(0)
yywyyw
上一篇 2016-09-09 16:20
下一篇 2016-09-09 16:23

相關推薦

  • linux程序包管理

         首先linux軟件程序包和windows中的程序包是不兼容的,所以要在linux上使用windows上的程序,需要使用虛擬化工具。 庫級別的虛擬化:     linux : WinE     windows: Cywin 而程序開發語言有多…

    Linux干貨 2016-08-24
  • N21 第二周練習

    ####1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。復制:cp   移動:mv    刪除:rm   cp:copy,復制文件或目錄</br>  cp [OPTION]… SOURCE… DIRECTORY…

    Linux干貨 2016-07-22
  • bash腳本編程基礎知識

    shell腳本語言編程之bash shell簡介 什么是shell:     shell是Linux的用戶界面,提供了用戶與內核進行交互的接口,他接收了用戶的指令,并將指令送入內核去執行     shell即是一種高級程序語言,也是一種命令解析語言   &nb…

    Linux干貨 2016-08-15
  • Linux磁盤管理命令

    Linux有著管理各種存儲設備的強大能力。Linux把所有磁盤都當作文件管理,從而簡化我們對其進行的讀寫等操作。 IDE接口的硬盤在Linux中命名為:/dev/hd{a|b|c……},比如/dev/hda; 其他硬盤比如SATA接口的硬盤命名為:/dev/sd{a|b|c……},比如/dev/sda。 注:{…

    Linux干貨 2015-12-06
  • CentOS上配置https服務

    在CentOS6.9(http2.2)配置https   創建前準備:       安裝opensssl包  和 http2.2 1、在主機(192.168.109.100)創建私有CA   (1)獲取私鑰       …

    2017-06-04
  • CA服務器的搭建以及證書簽署、dropbear的編譯安裝

    CA服務器的搭建以及證書簽署、dropbear的編譯安裝 一、CA Server和Client: 1、CA server:創建私鑰CA (1)   openssl的配置文件:/etc/pki/tls/openssl.conf   如果Client端的申請是來自不同的國家,則需要將下圖中紅色框內的三項,由“match”改為“opt…

    Linux干貨 2016-09-23
欧美性久久久久