常用系統工作命令-----第一篇

一、常用系統工作命令

1.echo命令

2.date命令

3.reboot命令

4.poweroff命令

5.wget命令

6.ps命令

7.top命令

8.pidof命令

9.kill命令

10.killall命令

(1)echo命令Shell內建命令
echo命令用於在shell中打印shell變量的值,或者直接輸出指定的字符串。linux的echo命令,在shell編程中極爲常用, 在終端下打印變量value的時候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在顯示器上顯示一段文字,一般起到一個提示的作用。

語法
echo(選項)(參數)
選項
-e:激活轉義字符。
使用-e選項時,若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出:

\a 發出警告聲;
\b 刪除前一個字符;
\c 最後不加上換行符號;
\f 換行但光標仍舊停留在原來的位置;
\n 換行且光標移至行首;
\r 光標移至行首,但不換行;
\t 插入tab;
\v 與\f相同;
\ 插入\字符;
\nnn 插入nnn(八進制)所代表的ASCII字符;
參數
變量:指定要打印的變量。

實例
用echo命令打印帶有色彩的文字:

文字色:

echo -e "\e[1;31mThis is red text\e[0m"
This is red text

\e[1;31m 將顏色設置爲紅色
\e[0m 將顏色重新置回
顏色碼:重置=0,黑色=30,紅色=31,綠色=32,×××=33,藍色=34,洋紅=35,青色=36,白色=37

背景色:

echo -e "\e[1;42mGreed Background\e[0m"
Greed Background

顏色碼:重置=0,黑色=40,紅色=41,綠色=42,×××=43,藍色=44,洋紅=45,青色=46,白色=47

文字閃動:

echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"


(2)date命令常用工具命令
date命令是顯示或設置系統時間與日期。

很多shell腳本里面需要打印不同格式的時間或日期,以及要根據時間和日期執行操作。延時通常用於腳本執行過程中提供一段等待的時間。日期可以以多種格式去打印,也可以使用命令設置固定的格式。在類UNIX系統中,日期被存儲爲一個整數,其大小爲自世界標準時間(UTC)1970年1月1日0時0分0秒起流逝的秒數。

語法
date(選項)(參數)
選項
-d<字符串>:顯示字符串所指的日期與時間。字符串前後必須加上雙引號;
-s<字符串>:根據字符串來設置日期與時間。字符串前後必須加上雙引號;
-u:顯示GMT;
--help:在線幫助;
--version:顯示版本信息。
參數
<+時間日期格式>:指定顯示時使用的日期時間格式。

日期格式字符串列表

%H 小時,24小時制(00~23)
%I 小時,12小時制(01~12)
%k 小時,24小時制(0~23)
%l 小時,12小時制(1~12)
%M 分鐘(00~59)
%p 顯示出AM或PM
%r 顯示時間,12小時制(hh:mm:ss %p)
%s 從1970年1月1日00:00:00到目前經歷的秒數
%S 顯示秒(00~59)
%T 顯示時間,24小時制(hh:mm:ss)
%X 顯示時間的格式(%H:%M:%S)
%Z 顯示時區,日期域(CST)
%a 星期的簡稱(Sun~Sat)
%A 星期的全稱(Sunday~Saturday)
%h,%b 月的簡稱(Jan~Dec)
%B 月的全稱(January~December)
%c 日期和時間(Tue Nov 20 14:12:58 2012)
%d 一個月的第幾天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第幾天(001~366)
%m 月份(01~12)
%w 一個星期的第幾天(0代表星期天)
%W 一年的第幾個星期(00~53,星期一爲第一天)
%y 年的最後兩個數字(1999則是99)

實例
格式化輸出:

date +"%Y-%m-%d"
2009-12-07

輸出昨天日期:

date -d "1 day ago" +"%Y-%m-%d"
2012-11-19
2秒後輸出:

date -d "2 second" +"%Y-%m-%d %H:%M.%S"
2012-11-20 14:21.31
傳說中的 1234567890 秒:

date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%m:%S"
2009-02-13 23:02:30

普通轉格式:

date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"
2009/12/12 00:00.00
apache格式轉換:

date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S"
2009-12-05 00:00.37
格式轉換後時間遊走:

date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
2007-12-05 00:00.37

加減操作:

date +%Y%m%d //顯示前天年月日
date -d "+1 day" +%Y%m%d //顯示前一天的日期
date -d "-1 day" +%Y%m%d //顯示後一天的日期
date -d "-1 month" +%Y%m%d //顯示上一月的日期
date -d "+1 month" +%Y%m%d //顯示下一月的日期
date -d "-1 year" +%Y%m%d //顯示前一年的日期
date -d "+1 year" +%Y%m%d //顯示下一年的日期

設定時間:

date -s //設置當前時間,只有root權限才能設置,其他只能查看
date -s 20120523 //設置成20120523,這樣會把具體時間設置成空00:00:00
date -s 01:01:01 //設置具體時間,不會對日期做更改
date -s "01:01:01 2012-05-23" //這樣可以設置全部時間
date -s "01:01:01 20120523" //這樣可以設置全部時間
date -s "2012-05-23 01:01:01" //這樣可以設置全部時間
date -s "20120523 01:01:01" //這樣可以設置全部時間

有時需要檢查一組命令花費的時間,舉例:

#!/bin/bash

start=$(date +%s)
nmap man.linuxde.net &> /dev/null

end=$(date +%s)
difference=$(( end - start ))
echo $difference seconds.


(3)reboot命令系統關機和重啓
reboot命令用來重新啓動正在運行的Linux操作系統。

語法
reboot(選項)
選項
-d:重新開機時不把數據寫入記錄文件/var/tmp/wtmp。本參數具有“-n”參數效果;
-f:強制重新開機,不調用shutdown指令的功能;
-i:在重開機之前,先關閉所有網絡界面;
-n:重開機之前不檢查是否有未結束的程序;
-w:僅做測試,並不真正將系統重新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件。
實例

reboot //重開機。
reboot -w //做個重開機的模擬(只有紀錄並不會真的重開機)。


(4)poweroff命令系統關機和重啓
poweroff命令用來關閉計算機操作系統並且切斷系統電源。

語法
poweroff(選項)
選項
-n:關閉操作系統時不執行sync操作;
-w:不真正關閉操作系統,僅在日誌文件“/var/log/wtmp”中;
-d:關閉操作系統時,不將操作寫入日誌文件“/var/log/wtmp”中添加相應的記錄;
-f:強制關閉操作系統;
-i:關閉操作系統之前關閉所有的網絡接口;
-h:關閉操作系統之前將系統中所有的硬件設置爲備用模式。
實例
如果確認系統中已經沒有用戶存在且所有數據都已保存,需要立即關閉系統,可以使用poweroff命令。

使用poweroff立即關閉系統:

poweroff


(5)wget命令網絡應用
wget命令用來從指定的URL下載文件。wget非常穩定,它在帶寬很窄的情況下和不穩定網絡中有很強的適應性,如果是由於網絡的原因下載失敗,wget會不斷的嘗試,直到整個文件下載完畢。如果是服務器打斷下載過程,它會再次聯到服務器上從停止的地方繼續下載。這對從那些限定了鏈接時間的服務器上下載大文件非常有用。

語法
wget(選項)(參數)
選項
-a<日誌文件>:在指定的日誌文件中記錄資料的執行過程;
-A<後綴名>:指定要下載文件的後綴名,多個後綴名之間使用逗號進行分隔;
-b:進行後臺的方式運行wget;
-B<連接地址>:設置參考的連接地址的基地地址;
-c:繼續執行上次終端的任務;
-C<標誌>:設置服務器數據塊功能標誌on爲激活,off爲關閉,默認值爲on;
-d:調試模式運行指令;
-D<域名列表>:設置順着的域名列表,域名之間用“,”分隔;
-e<指令>:作爲文件“.wgetrc”中的一部分執行指定的指令;
-h:顯示指令幫助信息;
-i<文件>:從指定文件獲取要下載的URL地址;
-l<目錄列表>:設置順着的目錄列表,多個目錄用“,”分隔;
-L:僅順着關聯的連接;
-r:遞歸下載方式;
-nc:文件存在時,下載文件不覆蓋原有文件;
-nv:下載時只顯示更新和出錯信息,不顯示指令的詳細執行過程;
-q:不顯示指令執行過程;
-nh:不查詢主機名稱;
-v:顯示詳細執行過程;
-V:顯示版本信息;
--passive-ftp:使用被動模式PASV連接FTP服務器;
--follow-ftp:從HTML文件中下載FTP連接文件。
參數

URL:下載指定的URL地址。

實例

使用wget下載單個文件

wget http://www.linuxde.net/testfile.zip

以下的例子是從網絡下載一個文件並保存在當前目錄,在下載的過程中會顯示進度條,包含(下載完成百分比,已經下載的字節,當前下載速度,剩餘下載時間)。

下載並以不同的文件名保存

wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080

wget默認會以最後一個符合/的後面的字符來命令,對於動態鏈接的下載通常文件名會不正確。

錯誤:下面的例子會下載一個文件並以名稱download.aspx?id=1080保存:

wget http://www.linuxde.net/download?id=1
即使下載的文件是zip格式,它仍然以download.php?id=1080命令。

正確:爲了解決這個問題,我們可以使用參數-O來指定一個文件名:

wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080

wget限速下載

wget --limit-rate=300k http://www.linuxde.net/testfile.zip

當你執行wget的時候,它默認會佔用全部可能的寬帶下載。但是當你準備下載一個大文件,而你還需要下載其它文件時就有必要限速了。

使用wget斷點續傳

wget -c http://www.linuxde.net/testfile.zip

使用wget -c重新啓動下載中斷的文件,對於我們下載大文件時突然由於網絡等原因中斷非常有幫助,我們可以繼續接着下載而不是重新下載一個文件。需要繼續中斷的下載時可以使用-c參數。

使用wget後臺下載

wget -b http://www.linuxde.net/testfile.zip
Continuing in background, pid 1840.
Output will be written to `wget-log'.

對於下載非常大的文件的時候,我們可以使用參數-b進行後臺下載,你可以使用以下命令來察看下載進度:

tail -f wget-log

僞裝代理名稱下載

wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16" http://www.linuxde.net/testfile.zip

有些網站能通過根據判斷代理名稱不是瀏覽器而拒絕你的下載請求。不過你可以通過--user-agent參數僞裝。

測試下載鏈接

當你打算進行定時下載,你應該在預定時間測試下載鏈接是否有效。我們可以增加--spider參數進行檢查。

wget --spider URL

如果下載鏈接正確,將會顯示:

Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.
這保證了下載能在預定的時間進行,但當你給錯了一個鏈接,將會顯示如下錯誤:

wget --spider url
Spider mode enabled. Check if remote file exists.
HTTP request sent, awaiting response... 404 Not Found
Remote file does not exist -- broken link!!!
你可以在以下幾種情況下使用--spider參數:

定時下載之前進行檢查
間隔檢測網站是否可用
檢查網站頁面的死鏈接

增加重試次數

wget --tries=40 URL

如果網絡有問題或下載一個大文件也有可能失敗。wget默認重試20次連接下載文件。如果需要,你可以使用--tries增加重試次數。

下載多個文件

wget -i filelist.txt

首先,保存一份下載鏈接文件:

cat > filelist.txt
url1
url2
url3
url4
接着使用這個文件和參數-i下載。

鏡像網站

wget --mirror -p --convert-links -P ./LOCAL URL

下載整個網站到本地。

--miror開戶鏡像下載。
-p下載所有爲了html頁面顯示正常的文件。
--convert-links下載後,轉換成本地的鏈接。
-P ./LOCAL保存所有文件和目錄到本地指定目錄。

過濾指定格式下載

wget --reject=gif ur

下載一個網站,但你不希望下載圖片,可以使用這條命令。

把下載信息存入日誌文件

wget -o download.log URL

不希望下載信息直接顯示在終端而是在一個日誌文件,可以使用。

限制總下載文件大小

wget -Q5m -i filelist.txt

當你想要下載的文件超過5M而退出下載,你可以使用。注意:這個參數對單個文件下載不起作用,只能遞歸下載時纔有效。

下載指定格式文件

wget -r -A.pdf url

可以在以下情況使用該功能:

下載一個網站的所有圖片。
下載一個網站的所有視頻。
下載一個網站的所有PDF文件。

FTP下載

wget ftp-url
wget --ftp-user=USERNAME --ftp-password=PASSWORD url

可以使用wget來完成ftp鏈接的下載。

使用wget匿名ftp下載:

wget ftp-url

使用wget用戶名和密碼認證的ftp下載:

wget --ftp-user=USERNAME --ftp-password=PASSWORD url


(6)ps命令進程和作業管理
ps命令用於報告當前系統的進程狀態。可以搭配kill指令隨時中斷、刪除不必要的程序。ps命令是最基本同時也是非常強大的進程查看命令,使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等,總之大部分信息都是可以通過執行該命令得到的。

語法
ps(選項)
選項

-a:顯示所有終端機下執行的程序,除了階段作業領導者之外。
a:顯示現行終端機下的所有程序,包括其他用戶的程序。
-A:顯示所有程序。
-c:顯示CLS和PRI欄位。
c:列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,選項或常駐服務的標示。
-C<指令名稱>:指定執行指令的名稱,並列出該指令的程序的狀況。
-d:顯示所有程序,但不包括階段作業領導者的程序。
-e:此選項的效果和指定"A"選項相同。
e:列出程序時,顯示每個程序所使用的環境變量。
-f:顯示UID,PPIP,C與STIME欄位。
f:用ASCII字符顯示樹狀結構,表達程序間的相互關係。
-g<羣組名稱>:此選項的效果和指定"-G"選項相同,當亦能使用階段作業領導者的名稱來指定。
g:顯示現行終端機下的所有程序,包括羣組領導者的程序。
-G<羣組識別碼>:列出屬於該羣組的程序的狀況,也可使用羣組名稱來指定。
h:不顯示標題列。
-H:顯示樹狀結構,表示程序間的相互關係。
-j或j:採用工作控制的格式顯示程序狀況。
-l或l:採用詳細的格式來顯示程序狀況。
L:列出欄位的相關信息。
-m或m:顯示所有的執行緒。
n:以數字來表示USER和WCHAN欄位。
-N:顯示所有的程序,除了執行ps指令終端機下的程序之外。
-p<程序識別碼>:指定程序識別碼,並列出該程序的狀況。
p<程序識別碼>:此選項的效果和指定"-p"選項相同,只在列表格式方面稍有差異。
r:只列出現行終端機正在執行中的程序。
-s<階段作業>:指定階段作業的程序識別碼,並列出隸屬該階段作業的程序的狀況。
s:採用程序信號的格式顯示程序狀況。
S:列出程序時,包括已中斷的子程序資料。
-t<終端機編號>:指定終端機編號,並列出屬於該終端機的程序的狀況。
t<終端機編號>:此選項的效果和指定"-t"選項相同,只在列表格式方面稍有差異。
-T:顯示現行終端機下的所有程序。
-u<用戶識別碼>:此選項的效果和指定"-U"選項相同。
u:以用戶爲主的格式來顯示程序狀況。
-U<用戶識別碼>:列出屬於該用戶的程序的狀況,也可使用用戶名稱來指定。
U<用戶名稱>:列出屬於該用戶的程序的狀況。
v:採用虛擬內存的格式顯示程序狀況。
-V或V:顯示版本信息。
-w或w:採用寬闊的格式來顯示程序狀況。 
x:顯示所有程序,不以終端機來區分。
X:採用舊式的Linux i386登陸格式顯示程序狀況。
-y:配合選項"-l"使用時,不顯示F(flag)欄位,並以RSS欄位取代ADDR欄位 。
-<程序識別碼>:此選項的效果和指定"p"選項相同。
--cols<每列字符數>:設置每列的最大字符數。
--columns<每列字符數>:此選項的效果和指定"--cols"選項相同。
--cumulative:此選項的效果和指定"S"選項相同。
--deselect:此選項的效果和指定"-N"選項相同。
--forest:此選項的效果和指定"f"選項相同。
--headers:重複顯示標題列。
--help:在線幫助。
--info:顯示排錯信息。
--lines<顯示列數>:設置顯示畫面的列數。
--no-headers:此選項的效果和指定"h"選項相同,只在列表格式方面稍有差異。
--group<羣組名稱>:此選項的效果和指定"-G"選項相同。
--Group<羣組識別碼>:此選項的效果和指定"-G"選項相同。
--pid<程序識別碼>:此選項的效果和指定"-p"選項相同。
--rows<顯示列數>:此選項的效果和指定"--lines"選項相同。
--sid<階段作業>:此選項的效果和指定"-s"選項相同。
--tty<終端機編號>:此選項的效果和指定"-t"選項相同。
--user<用戶名稱>:此選項的效果和指定"-U"選項相同。
--User<用戶識別碼>:此選項的效果和指定"-U"選項相同。
--version:此選項的效果和指定"-V"選項相同。
--widty<每列字符數>:此選項的效果和指定"-cols"選項相同。

由於ps命令能夠支持的系統類型相當的多,所以選項多的離譜!


(7)top命令性能監測與優化
top命令可以實時動態地查看系統的整體運行情況,是一個綜合了多方信息監測系統性能和運行信息的實用工具。通過top命令所提供的互動式界面,用熱鍵可以管理。

語法
top(選項)
選項

-b:以批處理模式操作;
-c:顯示完整的治命令;
-d:屏幕刷新間隔時間;
-I:忽略失效過程;
-s:保密模式;
-S:累積模式;
-i<時間>:設置間隔時間;
-u<用戶名>:指定用戶名;
-p<進程號>:指定進程;
-n<次數>:循環顯示的次數。

top交互命令
在top命令執行過程中可以使用的一些交互命令。這些命令都是單字母的,如果在命令行中使用了-s選項, 其中一些命令可能會被屏蔽。

h:顯示幫助畫面,給出一些簡短的命令總結說明;
k:終止一個進程;
i:忽略閒置和僵死進程,這是一個開關式命令;
q:退出程序;
r:重新安排一個進程的優先級別;
S:切換到累計模式;
s:改變兩次刷新之間的延遲時間(單位爲s),如果有小數,就換算成ms。輸入0值則系統將不斷刷新,默認值是5s;
f或者F:從當前顯示中添加或者刪除項目;
o或者O:改變顯示項目的順序;
l:切換顯示平均負載和啓動時間信息;
m:切換顯示內存信息;
t:切換顯示進程和CPU狀態信息;
c:切換顯示命令名稱和完整命令行;
M:根據駐留內存大小進行排序;
P:根據CPU使用百分比大小進行排序;
T:根據時間/累計時間進行排序;
w:將當前設置寫入~/.toprc文件中。

實例
top - 09:44:56 up 16 days, 21:23, 1 user, load average: 9.59, 4.75, 1.92
Tasks: 145 total, 2 running, 143 sleeping, 0 stopped, 0 zombie
Cpu(s): 99.8%us, 0.1%sy, 0.0%ni, 0.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4147888k total, 2493092k used, 1654796k free, 158188k buffers
Swap: 5144568k total, 56k used, 5144512k free, 2013180k cached
解釋:

top - 09:44:56[當前系統時間],
16 days[系統已經運行了16天],
1 user[個用戶當前登錄],
load average: 9.59, 4.75, 1.92[系統負載,即任務隊列的平均長度]
Tasks: 145 total[總進程數],
2 running[正在運行的進程數],
143 sleeping[睡眠的進程數],
0 stopped[停止的進程數],
0 zombie[凍結進程數],
Cpu(s): 99.8%us[用戶空間佔用CPU百分比],
0.1%sy[內核空間佔用CPU百分比],
0.0%ni[用戶進程空間內改變過優先級的進程佔用CPU百分比],
0.2%id[空閒CPU百分比], 0.0%wa[等待輸入輸出的CPU時間百分比],
0.0%hi[],
0.0%st[],
Mem: 4147888k total[物理內存總量],
2493092k used[使用的物理內存總量],
1654796k free[空閒內存總量],
158188k buffers[用作內核緩存的內存量]
Swap: 5144568k total[交換區總量],
56k used[使用的交換區總量],
5144512k free[空閒交換區總量],
2013180k cached[緩衝的交換區總量],


(8)pidof命令進程和作業管理
pidof命令用於查找指定名稱的進程的進程號id號。

語法
pidof(選項)(參數)
選項

-s:僅返回一個進程號;
-c:僅顯示具有相同“root”目錄的進程;
-x:顯示由腳本開啓的進程;
-o:指定不顯示的進程ID。

參數
進程名稱:指定要查找的進程名稱。

實例

pidof nginx
13312 5371

pidof crond
1509

pidof init
1


(9)kill命令Shell內建命令
kill命令用來刪除執行中的程序或工作。kill可將指定的信息送至程序。預設的信息爲SIGTERM(15),可將指定程序終止。若仍無法終止該程序,可使用SIGKILL(9)信息嘗試強制刪除程序。程序或工作的編號可利用ps指令或job指令查看。

語法
kill(選項)(參數)
選項
-a:當處理當前進程時,不限制命令名和進程號的對應關係;
-l <信息編號>:若不加<信息編號>選項,則-l參數會列出全部的信息名稱;
-p:指定kill 命令只打印相關進程的進程號,而不發送任何信號;
-s <信息名稱或編號>:指定要送出的信息;
-u:指定用戶。
參數
進程或作業識別號:指定要刪除的進程或作業。

實例
列出所有信號名稱:

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

只有第9種信號(SIGKILL)纔可以無條件終止進程,其他信號進程都有權利忽略,下面是常用的信號:

HUP 1 終端斷線
INT 2 中斷(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 終止
KILL 9 強制終止
CONT 18 繼續(與STOP相反, fg/bg命令)
STOP 19 暫停(同 Ctrl + Z)
先用ps查找進程,然後用kill殺掉:

ps -ef | grep vim
root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log
root 3370 2822 0 16:21 pts/0 00:00:00 grep vim

kill 3268
kill 3268
-bash: kill: (3268) - 沒有那個進程


(10)killall命令進程和作業管理
killall命令使用進程的名稱來殺死進程,使用此指令可以殺死一組同名進程。我們可以使用kill命令殺死指定進程PID的進程,如果要找到我們需要殺死的進程,我們還需要在之前使用ps等命令再配合grep來查找進程,而killall把這兩個過程合二爲一,是一個很好用的命令。

語法
killall(選項)(參數)
選項
-e:對長名稱進行精確匹配;
-l:忽略大小寫的不同;
-p:殺死進程所屬的進程組;
-i:交互式殺死進程,殺死進程前需要進行確認;
-l:打印所有已知信號列表;
-q:如果沒有進程被殺死。則不輸出任何信息;
-r:使用正規表達式匹配要殺死的進程名稱;
-s:用指定的進程號代替默認信號“SIGTERM”;
-u:殺死指定用戶的進程。
參數
進程名稱:指定要殺死的進程名稱。

實例
殺死所有同名進程

killall vi

如果我們在系統終端中執行一個命令後想立即停止它,可以同時按下Ctrl + C組合鍵(生產環境中比較常用的一個快捷鍵),這樣將立即終止該命令的進程。或者,如果有些命令在執行時不斷地在屏幕上輸出信息,影響到後續命令的輸入,則可以在執行命令時在末尾添加上一個&符號,這樣命令將進入系統後臺來執行。

文檔:常用系統工作命令.note
鏈接:http://note.youdao.com/noteshare?id=944cda8c889baef4f0b13f274c533800&sub=8DC0569FA8DC44128D89E99482F18958

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章