1. 程式人生 > >Linux kill工具和作業控制及優先順序調整

Linux kill工具和作業控制及優先順序調整

1. kill

kill: kill命令用了殺死單個程序或者一類程序,殺死程序的過程其實是向程序傳送各種不同的控制訊號,以實現對程序的管理。

顯示當前系統可用訊號:

[root@localhost ~]# kill -l
 1) SIGHUP   2) SIGINT   3) SIGQUIT  4) SIGILL   5) SIGTRAP
 6) SIGABRT  7) SIGBUS   8) SIGFPE   9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41
) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX
-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX

常用訊號說明:

1) SIGHUP: 無需關閉程序而讓其重讀配置檔案 - 對於一些服務類程序至關重要
2) SIGINT: 中止正在執行的程序 - 相當於ctrl + c
9) SIGKILL: 殺死正在執行的程序
15) SIGTERM: 終止正在執行的程序
18) SIGCONT
19) SIGSTOP

指定訊號的方法:

(1) 指定訊號的數字標識: 1,2,9
(2) 指定訊號的完整名稱: SIGHUP, SIGKILL
(3) 訊號的簡寫名稱: HUP, KILL, TERM, INT …

向程序傳送訊號:

kill [-SIGNAL] PID …

終止”名稱”之下的所以程序

有些程序會由父程序建立多個子程序,若想處理所有的程序,則可以使用下面的命令:
# killall [-SICNAL] Program

示例:

開啟http服務,檢視http程序,並殺死所有http程序

# 開啟http服務
[[email protected] ~]# systemctl start httpd

# 檢視http服務狀態
[[email protected] ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2018-08-22 16:32:51 CST; 10min ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 10761 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
    Tasks: 6
   CGroup: /system.slice/httpd.service
           ├─10761 /usr/sbin/httpd -DFOREGROUND
           ├─10763 /usr/sbin/httpd -DFOREGROUND
           ├─10764 /usr/sbin/httpd -DFOREGROUND
           ├─10765 /usr/sbin/httpd -DFOREGROUND
           ├─10766 /usr/sbin/httpd -DFOREGROUND
           └─10938 /usr/sbin/httpd -DFOREGROUND

Aug 22 16:32:51 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
Aug 22 16:32:51 localhost.localdomain httpd[10761]: AH00558: httpd: Could not reliably determine ...age
Aug 22 16:32:51 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

#檢視網路連線情況,80埠是否被監聽
[[email protected] ~]# ss -lnt | grep -E 80
LISTEN     0      128         :::80                      :::*  
# 檢視http服務程序                
[[email protected] conf]# ps -aux | grep -E "httpd"
root      12865  0.0  0.5 224020  5020 ?        Ss   17:25   0:00 /usr/sbin/httpd -DFOREGROUND
apache    12866  0.0  0.3 226244  3832 ?        S    17:25   0:00 /usr/sbin/httpd -DFOREGROUND
apache    12867  0.0  0.3 226244  3836 ?        S    17:25   0:00 /usr/sbin/httpd -DFOREGROUND
apache    12868  0.0  0.3 226244  3836 ?        S    17:25   0:00 /usr/sbin/httpd -DFOREGROUND
apache    12869  0.0  0.3 226244  3836 ?        S    17:25   0:00 /usr/sbin/httpd -DFOREGROUND
apache    12870  0.0  0.3 226104  3316 ?        S    17:25   0:00 /usr/sbin/httpd -DFOREGROUND
apache    12871  0.0  0.3 226244  3832 ?        S    17:25   0:00 /usr/sbin/httpd -DFOREGROUND
apache    12872  0.0  0.3 226244  3836 ?        S    17:25   0:00 /usr/sbin/httpd -DFOREGROUND
apache    12873  0.0  0.3 226244  3832 ?        S    17:25   0:00 /usr/sbin/httpd -DFOREGROUND
apache    12999  0.0  0.3 226104  3316 ?        S    17:26   0:00 /usr/sbin/httpd -DFOREGROUND
root      13085  0.0  0.0 112704   972 pts/2    S+   17:28   0:00 grep --color=auto -E httpd

# 殺死http服務中的某個程序(殺死root使用者可將所有程序殺死)
[[email protected] ~]# kill -9 12865

[[email protected] conf]# ps -aux | grep -E "httpd"

root      13180  0.0  0.0 112704   968 pts/2    S+   17:30   0:00 grep --color=auto -E httpd

# 殺死所有http服務程序
[[email protected] ~]# killall -9 httpd

2. 作業和程序


  • 區別:程序是一個程式在一個數據集上的一次執行,而作業是使用者提交給系統的一個任務。
  • 關係:一個作業通常包括幾個程序,幾個程序共同完成一個任務,即作業。
  • 使用者提交作業以後,當作業被排程,系統會為作業建立程序,一個程序無法完成時,系統會為這個程序建立子程序。

前臺作業: 通過終端啟動,且啟動後一直佔據終端(glances, dstat等)
後臺作業: 可以通過終端啟動,但啟動後轉入後臺執行
如何讓作業運行於後臺?
(1)執行中的作業: Ctrl + z
(2)尚未啟動的作業: # COMMAND &
Note: 此類作業雖然被送往後臺執行,但其依然與終端相關,如果希望送往後臺後,剝離與終端的關係,使用如下命令:# nohup COMMAND &

命令 說明
Ctrl + z 執行中的作業置於後臺
command & 將尚未啟動的作業置於後臺
nohup command & 剝離作業與終端的關係
jobs 檢視所有作業
fg [[%]JOB_NUM] 把指定的作業調回前臺
bg [[%]JOB_NUM] 讓送往後臺的作業繼續執行
kill [%IOB_NUM] 終止指定的作業

3. 程序優先順序調整

靜態優先順序:100-139
程序預設啟動時的nice值為0, 優先順序為120;

nice 命令:
nice [OPTION] [COMMAND [AGV]...]
renice命令:
renice [-n] priority pid ...
檢視:
ps axo pid, ni, comm...

相關推薦

Linux kill工具作業控制優先順序調整

1. kill kill: kill命令用了殺死單個程序或者一類程序,殺死程序的過程其實是向程序傳送各種不同的控制訊號,以實現對程序的管理。 顯示當前系統可用訊號: [root@localhost ~]# kill -l 1) SIGHUP

Linux -管道符作業控制

RoCE sleep 輸出 images ges shadow fin img obs | : 管道符,將前面輸出的內容,輸入給後面的命令例如:ps -ef | grep java #grep,用來過濾指定關鍵詞的命令,只要文件裏面包含關鍵詞,就會將

Linux學習筆記(二十四)管道符作業控制、shell變量、環境變量配置文件

環境變量配置文件 管道符 一、管道符和作業控制cat 1.txt |wc -l ; cat 1.txt |grep ‘aaa‘將前面命令的結果輸入給後面的命令ctrl z 暫停一個任務、這時候任務隱藏到後臺,通過fg可以重新吊起任務到前臺運行jobs查看後臺的任務bg[id]把任務調到後臺fg[id]

Linux學習命令匯總十一——Linux進程管理、作業控制進程命令詳解

ps top vmstat dmstat 進程管理 本章Blog相關Linux知識點 進程(process):進程是程序的執行實例,即運行中的程序,也是程序的副本;程序放置於磁盤中,而進程放置於內存中;進程的啟動及調度均是由內核發起的。init是所有進程的父進程,而子進程是由fork

學習筆記:Linux 文件目錄屬性權限

學習筆記:linux 文件和目錄屬性及權限1 . Linux 中的文件1.1 文件屬性概述 在linux裡面一切皆文件!! Linux 系統中的文件或目錄的屬性主要包括:索引節點(inode)、文件類型、權限屬性、鏈接數、所歸屬的用戶和用戶組、最近修改時間等內容: 下面我們看一下執行ls- lhi的結果:[[

8.6 管道符作業控制 8.7/8.8 shell變量 8.9 環境變量配置文件

8.6 管道符和作業控制 8.7/8.8 shell變量 8.9 環境變量配置文件8.6 管道符和作業控制 8.7/8.8 shell變量 8.9 環境變量配置文件 擴展 bashrc和bash_profile的區別 http://ask.apelearn.com/question/7719

管道符作業控制,shell變量,環境變量配置

管道符 shell變量 環境變量配置文件 筆記內容:8.6 管道符和作業控制8.7/8.8 shell變量8.9 環境變量配置文件筆記日期:2017.8.15 8.6 管道符和作業控制管道符可以把一個文件的輸出內容,傳遞給後面的命令:所以管道符簡單的說就是把前面的命令執行結果交給後面的命令執行。

管道符作業控制、shell變量、環境變量配置文件

管道符和作業控制、shell變量、環境變量配置文件管道符它用於將前一個指令的輸出作為後一個指令的輸入。作業控制當運行進程時,我們可以使用 ctrl +z 暫停它,然後使用fg(foreground)命令恢復,或是利用命令bg(background)命令使它到後臺運行。還可以使用 ctrl+c 終止它。jobs

8.6-8.9 管道符作業控制、shell變量,環境變量

lsd net hat 自定義 alias amp 信息 語法 登錄 8.6 管道符和作業控制 管道符“|” 管道符的作用在於將符號前面的結果丟給符號後面的命令。管道符後面並不是所有的命令都可以,一般針對文檔操作的命令比較常用,eg:cat、less、head、tail、

8.6 管道符作業控制;8.7—8.8 shell變量(上下);8.9 環境變量配置文件

install tree 配置 顯示 linu 執行命令 方括號 nvi 自定義環境 擴展bashrc和bash_profile的區別 http://ask.apelearn.com/question/7719簡易審計系統:http://www.68idc.cn/hel

8.6 管道符作業控制 8.7/8.8 shell變量 8.9 環境變量配置文件

使用 單引號 命令 顯示 sta 系統 exp 區別 learn 8.6 管道符和作業控制管道符 | 的作用就是把前面命令的結果交給後面的命令用這個文件做實驗,vmstat 1 是不停的顯示系統的一些狀態再測試jobs bg fg是功能再動行這個2命令測試sleep

五周第四次課(1月11日) 8.6 管道符作業控制 8.7/shell變量 8.8 shell變量 8.9 環境變量配置文件

pool res boot sda gpo img ifd 變量名 選項 五周第四次課(1月11日)8.6 管道符和作業控制8.7/shell變量8.8 shell變量8.9 環境變量配置文件擴展bashrc和bash_profile的區別 http://ask.ape

管道符作業控制 shell變量 環境變量配置文件

定義變量 split 包括 port ctrl 文件 aaa entos ash 8.6 管道符和作業控制 管道符的作用在於將符號前面的結果丟給符號後面的命令。管道符後面並不是所有的命令都可以,一般針對文檔操作的命令比較常用,eg:cat、less、head、tail、gr

Shell基礎:介紹、歷史命令、命令不全別名、通配符、輸入輸入重定向、管道發作業控制

基礎 一個 直接 1.5 寫到 否則 shel attr tle Shell的介紹 zsh、ksh(yum list |grep zsh 進行查看,然後可以相應的進行安裝) 命令歷史1. /root/.b

管道符作業控制

管道符 作業控制 1、管道符 管道符之前介紹過,它表示把一個文件的輸出內容傳遞給後面的命令。舉個例子,見下圖,關於管道符,有很多命令是可以用的,就是把前面命令輸出的結果,交給後面的命令。後面會經常用到。 2、作業控制 之前說過一個快捷鍵,ctrl + z ,表示暫停一個任務。見下圖,輸入命令 vim

二十四、管道符作業控制、shell變量、環境變量配置文件

管道符和作業控制 shell變量 環境變量配置文件 二十四、管道符和作業控制、shell變量、環境變量配置文件一、管道符和作業控制管道符:| 表示把前面文件輸出的內容傳遞給後面的命令。|grep:過濾,指定關鍵詞的命令。|grep ’aaa‘。作業控制Ctrl+z:暫停一個任務

八(2)管道符作業控制、shell變量、環境變量配置文件

shell變量管道符、作業控制管道符 | :把前面命令的的輸出交給後面命令的輸入暫停任務:ctrl+ z (臨時暫停,仍到後臺 ,調回前臺 fg)jobs 可以把暫停的任務列出來。fg +id號就能把相應暫停任務調回前臺。 fg 2bg 把任務放到後臺sleep 1000 暫停1000秒sleep 100

管道符作業控制,shell變量,環境變量配置文件

管道符 作業控制 變量 管道符和作業控制 |把前面命令結果交給後面的命令處理。 [root@aminglinux-02 ~]# cat 1.txt |wc -l 統計行數 5 [root@aminglinux-02 ~]# cat 1.txt |grep ‘aaa‘ aaaa 剪切出aaa

管道符作業控制 & shell變量& 環境變量配置文件

分享圖片 com ota src 歷史 字母 lee shell變量 個人 管道符 | 用於將前一個指令的輸出作為後一個指令的輸入 [root@pantinglinux ]# cat 1.txt | wc -l2[root@pantinglinux ]# cat 1.tx

Linux使用者組許可權管理正則表示式

1、複製/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部檔案的屬組和其他使用者沒有任何訪問許可權。 [[email protected] ~]# cp -a /etc/skel /home/tuser1 [[email protected] ~]#