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
下一篇 2016-09-09

相關推薦

  • NTP時間服務器

        在集群環境和需要日志同步的多服務器應用中,為了能夠保證多臺服務器的之間的正常協作,就必須使它們的時間保持一致,在多臺服務器上手動調整時間是極其不科學的,這時就需要借助于NTP時間服務器來完成時間的同步。     一、NTP服務器的安裝    …

    Linux干貨 2015-06-25
  • 文件查找(Find和Locate)常用用法及摩根定律趣解(重要)

    文件查找(Find和Locate)常用用法及摩根定律趣解(重要) 摩根定律: 非(A 且 B)=(非 A)或(非 B) 非(A 或 B)=(非 A)且(非 B) 這樣看起來不是很好理解下面通過一些列圖片給大家展示; 圖(1)  圖(2)  圖二中的黑色就A且B,A且B的反面三種情況(如圖1)即為(非A)或(非B)。因此…

    Linux干貨 2016-08-21
  • CentOS系統啟動

    Linux組成 Linux: kernel+rootfs kernel:  進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能 rootfs: 程序和glibc 庫:函數集合, function,  調用接口(頭文件負責描述) 過程調用:procedure ,無返回值 函數調用:function 程序:二進制執行文件 內核設計流派…

    2017-05-15
  • 馬哥教育網絡班22期+第四周課程練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]# cp -rf /etc/skel/ /home/tuser1 [root@localhost ~]# chmod&…

    Linux干貨 2016-09-19
  • linux文件系統

    linux的文件系統:             根文件系統為rootfs(root file system)           &nbsp…

    Linux干貨 2015-12-19
  • 計算機基礎知識及服務器介紹

    現代計算機組成 根據馮·諾依曼結構體系計算機有五大部件組成: 運算器、控制器、存儲器、輸入設備、輸出設備 CPU=運算器+控制器 運算器由算術邏輯單元(ALU)、累加器、狀態寄存器、通用寄存器組等組成。 算術邏輯運算單元(ALU)的基本功能為加、減、乘、除四則運算,與、或、非、異或等邏輯操作,以及移位、求補等操作。 運算器只能進行二進制運算、邏輯運算 控制器…

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