linux中所有的程序都是相互聯絡的,除了初始化程序(init程序,程序號為1,無父程序),所有的程序都有乙個父程序。
新的程序不是被建立的,而是被複製的,或者從以前的程序複製而來。
使用者使用at命令在指定時刻執行指定的命令。
例:指定凌晨1:00執行命令,在哪天的凌晨1:00執行那?如果是在頭一天22:00制訂,在凌晨1:00前退出系統,則該命令將會在第二天凌晨1:00才執行。
at命令只能被執行一次
語法at [-v] [-q 序列] [-f 檔名] [-mldbv] 時間
at –c 作業 [作業…] 例:
at 17:30
at 17:30 today
at now + 5 hours
at 17:30 2/24/2010
在任何情況下,只有root使用者可以使用at命令,對於其它使用者是否可以使用,取決於兩個檔案(/etc/at.allow 和 /etc/at.deny)
分鐘 小時 乙個月的第幾天 一年的第幾個月 一周的第幾天 命令
ctrl+z可以掛起當前的前台作業
用jobs命令可以顯示shell的作業清單,包括具體的作業,作業號,作業所處的狀態。
兩種選擇
顯示目前有那些人在使用
/usr/bin目錄下
uname [-引數]
類似於who命令,但比who命令更強大,可以顯示當前使用者正在執行的工作
/bin目錄下
ps [-引數]
-e列出所有程序
-h不顯示標題
-l以長格式顯示更詳細的資料
-u按使用者名稱和啟動時間的順序來顯示程序
-a顯示所有使用者的所有程序(包括其它使用者)
-x顯示無控制終端的程序
-f用樹形格式來顯示程序
-r顯示執行中的程序
-j用任務格式來顯示程序
-w寬輸出
-ww避免詳細引數被截斷
常用的引數組合是 aux 或 lax,還有引數 f 的應用
user
程序的屬主
pid程序的id
ppid
父程序%cpu
程序占用的cpu百分比
%mem
占用記憶體的百分比
ni程序的nice值,數值大,表示較少占用cpu時間
vsz程序虛擬大小
rss駐留中頁的數量
tty終端id
stat
程序狀態(有以下幾種)
d無法中斷的休眠狀態(通常表示該程序正在進行 io 動作)
r正在執行中
s處於休眠狀態
t停止或被追蹤
w 沒有足夠的記憶體分頁可分配(從核心2.6開始無效)
x死掉的程序(從來沒見過)
z殭屍程序 zombie
<
優先順序高的程序
n優先順序較低的程序
l有記憶體分頁分配並鎖在記憶體內(即時系統或定製i/o)
s程序的領導者(在它之下有子程序)
l多程序的(使用 clone_thread, 類似 nptl pthreads)
+位於後台的程序組
wchan
正在等待的程序資源
start
啟動程序的時間
time
程序消耗cpu的時間
command
命令的名稱和引數
和ps命令基本作用相同,但是乙個動態顯示過程。
top [-引數]
-d指定每兩次重新整理螢幕的時間間隔(delay)
-q使top沒有任何延時的進行重新整理
-s指定累計模式
-s使top命令在安全模式中執行
-i是top不顯示任何閒置或殭屍程序
-c顯示整個命令列而不是只是顯示命令名
uptime
系統啟動時間,已經執行時間和3個平均負載值(1s,5s和15s)
processes
最近一次執行的程序總數
cpu states
mem記憶體使用情況
swap
交換空間統計
pid每個程序的id
ppid
每個程序的父程序id
uid
每個程序所有者的uid
user
每個程序所有者的使用者名稱
pri
每個程序的優先級別
ni該程序的優先順序值
size
該程序的**大小加上資料大小再加上堆疊空間大小的總數。單位是kb
tsize
該程序的**大小。對於核心程序這是乙個很奇怪的值
dsize
資料和堆疊的大小
trs文字駐留大小
d被標記為「不乾淨」的頁專案
lib
使用的庫頁的大小。對於elf程序沒有作用
rss
該程序占用的物理記憶體的總數量,單位是kb
share
該程序使用共享記憶體的數量
stat
s休眠狀態
d不可中斷的休眠狀態
z僵死狀態
r執行狀態
t停止或跟蹤狀態
%cpu
該程序自最近一次重新整理以來所占用的cpu時間和總時間的百分比
%mem
該程序占用的物理記憶體佔總記憶體的百分比
time
該程序自啟動以來所占用的總cpu時間
如果進入的是累計模式,那么該時間還包括這個程序子程序所占用的時間,且標題會變成ctime
command
該程序的命令名稱,如果一行顯示不下,則會進行擷取。記憶體中的程序會有乙個完整的命令列
《空格》
立即重新整理顯示
ctrl+l
擦除並且重寫螢幕
h或者?
顯示幫助畫面,給出一些簡短的命令總結說明
k終止乙個程序。系統將提示使用者輸入需要終止的程序pid,以及需要傳送給該程序什么样的訊號。一般的終止程序可以使用15訊號;如果不能正常結束那就使用訊號9強制結束該程序。預設值是訊號15。在安全模式中此命令被遮蔽。
i 忽略閒置和僵死程序。這是乙個開關式命令。
q 退出程式
r重新安排乙個程序的優先級別。系統提示使用者輸入需要改變的程序pid以及需要設定的程序優先順序值。輸入乙個正值將使優先順序降低,反之則可以使該程序擁有更高的優先權。預設值是10。
s切換到累計模式
s改變兩次重新整理之間的延遲時間。系統將提示使用者輸入新的時間,單位為s。如果有小數,就換算成ms。輸入0值則系統將不斷重新整理,預設值是5 s。需要注意的是如果設定太小的時間,很可能會引起不斷重新整理,從而根本來不及看清顯示的情況,而且系統負載也會大大增加
f或者f
從當前顯示中新增或者刪除專案
o或者o
改變顯示專案的順序
l 切換顯示平均負載和啟動時間資訊
m切換顯示記憶體資訊
t 切換顯示程序和cpu狀態資訊
c 切換顯示命令名稱和完整命令列
m 根據駐留記憶體大小進行排序
p根據cpu使用百分比大小進行排序tw
將當前設定寫入~/.toprc檔案中。這是寫top配置檔案的推薦方法
當需要中斷乙個前台程序時,可以ctrl+c,但對於後台程序必須使用kill命令。
/bin目錄下
kill [-s 訊號 | -p] [pid]
kill -l [訊號]
-s指定需要傳送的資訊,可以時訊號名,也可以是對應的數字(訊號9:強行kill。預設是15)。
-p指定kill命令只是顯示程序pid,並不真正送出結束訊號
-l顯示訊號名稱列表(也可以在/usr/include/linux/signal.**件中找到)
例如:kill -9 -1
終止你擁有的全部程序
/bin目錄下
通過程式的名字直接殺死程序
理論上,我們一般退出linux系統時,會把所有的程式全部結束掉,包括那些後台程式。但有時候,例如您正在編輯乙個很長的程式,但是您下班或是有事需要先退出系統,這時您又不希望系統把您編輯那麼久的程式結束掉,希望退出系統時,程式還能繼續執行。這時,我們就可以使用nohup命令使程序在使用者退出後仍繼續執行。
一般這些程序我們都是讓它在後台執行,結果則會寫到使用者自己的目錄下的nohup.out這個檔案裡(也可以使用輸出重定向,讓它輸出到乙個特定的檔案)。
例: #nohup sort sales.dat
這條命令告訴sort命令忽略使用者已退出系統,它應該一直執行,直到程序完成。利用這種方法,可以啟動乙個要執行幾天甚至幾周的程序,而且在它執行時,使用者不需要去登入。
nohup命令把一條命令的所有輸出和錯誤資訊送到nohup.out檔案中。若將輸出重定向,則只有錯誤資訊放在nohup.out檔案中。
Linux程序管理常用命令
引數注釋 pid程序標誌號 user 啟動程序使用者 pr優先順序 ninice值,負值表示高優先順序,正值表示低優先順序 virt 程序使用的虛擬記憶體總量,單位為kb res程序使用的,未被換出的物理記憶體大小,單位為kb shr共享記憶體大小,單位為kb s程序狀態。d 不可中斷的睡眠狀態 r...
linux檢視程序常用命令
top 顯示當前系統中耗費資源最多的程序 ps 顯示瞬間的程序狀態 ps ef程序的乙個快照 e a 顯示所有程序,環境變數 f 全格式 a 顯示所有使用者的所有程序 包括其它使用者 u 按使用者名稱和啟動時間的順序來顯示程序 x 顯示無控制終端的程序 kill 殺死乙個程序 kill 9 pid ...
Linux常用命令 (程序管理)
程序管理 ps top kill 指令名稱 ps 語法 ps 選項 a顯示所有終端機下執行的程式。e顯示所有程式。f顯示uid,ppip,c與stime欄位。功能描述 檢視系統中執行的程序。範例 ps aef ps a 檢視所有程序,和ps e功能相同 指令名稱 top 語法 top d 間隔秒數 ...