運維工程師必會的109個Linux命令(4)

2021-09-03 10:36:36 字數 4489 閱讀 5965

程序管理

1.1 c

rontab

1.1.1 功能說明

設定計時器。

1.1.2 語法

crontab [-u 《使用者名稱》][配置檔案] 或 crontab [-u 《使用者名稱》][-elr]

1.1.3 補充說明

cron是乙個常駐服務,它提供計時器的功能,讓使用者在特定的時間得以執行預設的指令或程式。只要使用者會編輯計時器的配置檔案,就可以使用計時器的功能。其配置檔案格式如下:

minute hour day month dayofweek command

1.1.4 引數

-e  編輯該使用者的計時器設定。

-l  列出該使用者的計時器設定。

-r  刪除該使用者的計時器設定。

-u《使用者名稱》  指定要設定計時器的使用者名稱。

1.2 kill

1.2.1 功能說明

刪除執行中的程式或工作。

1.2.2 語法

kill [-s 《資訊名稱或編號》][程式] 或 kill [-l 《資訊編號》]

1.2.3 補充說明

kill可將指定的資訊送至程式。預設的資訊為sigterm(15),可將指定程式終止。若仍無法終止該程式,可使用sigkill(9)資訊嘗試強制刪除程式。程式或工作的編號可利用ps指令或jobs指令檢視。

1.2.4 引數

-l 《資訊編號》  若不加《資訊編號》選項,則-l引數會列出全部的資訊名稱。

-s 《資訊名稱或編號》  指定要送出的資訊。

[程式]  [程式]可以是程式的pid或是pgid,也可以是工作編號。

1.3 nohup

1.3.1 功能說明

不結束通話地執行命令。該命令可以在你退出帳戶/關閉終端之後繼續執行相應的程序。

1.3.2 語法

nohup command [ arg ... ] [ & ]

nohup 命令執行由 command 引數和任何相關的 arg 引數指定的命令,忽略所有結束通話(sighup)訊號。在登出後使用 nohup 命令執行後台中的程式。要執行後台中的 nohup 命令,新增&( 表示「and」的符號)到命令的尾部。

無論是否將 nohup 命令的輸出復位向到終端,輸出都將附加到當前目錄的 nohup.out 檔案中。如果當前目錄的 nohup.out 檔案不可寫,輸出復位向到 $home/nohup.out 檔案中。如果沒有檔案能建立或開啟以用於追加,那麼 command 引數指定的命令不可呼叫。如果標準錯誤是乙個終端,那麼把指定的命令寫給標準錯誤的所有輸出作為標準輸出復位向到相同的檔案描述符。

退出狀態:該命令返回下列出口值:

126 可以查詢但不能呼叫 command 引數指定的命令。

127 nohup 命令發生錯誤或不能查詢由 command 引數指定的命令。

否則,nohup 命令的退出狀態是 command 引數指定命令的退出狀態。

如果使用nohup命令提交作業,那麼在預設情況下該作業的所有輸出都被復位向到乙個名為nohup.out的檔案中,除非另外指定了輸出檔案:

nohup command > myout.file 2>&1 &在上面的例子中,輸出被復位向到myout.file檔案中。

1.3.3 例子

我們有個test.php需要在後台執行,並且希望在後台能夠定期執行,那麼就使用nohup:

nohup /root/test.php &

(nohup sh make.sh &)

1.4 ps

1.4.1 功能說明

報告程式狀況。

1.4.2 語法

ps [-aacdefhjlmnvwy][acefghlnrsstuvxx][-c 《指令名稱》][-g 《群組名稱》][-g 《群組識別碼》][-p 《程式識別碼》][p 《程式識別碼》][-s 《階段作業》][-t 《終端機編號》][t 《終端機編號》][-u 《使用者識別碼》][-u 《使用者識別碼》][u 《使用者名稱》][-《程式識別碼》][--cols 《每列字元數》][--columns 《每列字元數》][--cumulative][--deselect][--forest][--headers][--help][--info][--lines 《顯示列數》][--no-headers][--group 《群組名稱》][-group 《群組識別碼》][--pid 《程式識別碼》][--rows 《顯示列數》][--sid 《階段作業》][--tty 《終端機編號》][--user 《使用者名稱》][--user 《使用者識別碼》][--version][--width 《每列字元數》]

1.4.3 補充說明

ps是用來報告程式執行狀況的指令,您可以搭配kill指令隨時中斷,刪除不必要的程式。

1.4.4 引數

-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  重複顯示標題列。

--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"引數相同。

運維工程師必會的109個Linux命令(4)

1 程序管理 1.1crontab 1.1.1功能說明 設定計時器。1.1.2語法 crontab u 使用者名稱 配置檔案 或 crontab u 使用者名稱 elr 1.1.3補充說明 minute hour day month dayofweek command 1.1.4引數 e 編輯該使用...

運維工程師

運維工程師主要工作是做什麼?由這兩句話推演運維工程師要學些什麼 一 保障業務長期穩定執行 出一點差錯,使用者就要投訴了 1 業務跑在什麼上面?伺服器一般是apache,nginx,tomcat等。但是真正跑通流程還需要nysql資料庫來儲存使用者密碼和其他。很多程式都要php的解析,所以,lnmp ...

運維工程師

環境能夠磨練乙個人的意志和能力 linux運維即linux系統執行維護工程師,是集合網路 系統 資料庫 開發 安全工作於一身的複合型人才。運維指的是網際網路運維,通常屬於技術部門,與研發 測試 系統管理同為網際網路產品技術支撐的4大部門,這個劃分在國內和國外以及大小公司間都會多少有一些不同。對 進行...