Linux進程管理

本文爲原創文章,轉載請標明出處

目錄

  • 查看進程命令 ps
  • 查看進程樹命令 pstree
  • 實時顯示進程命令 top
  • 查看後臺任務命令 jobs
  • 後臺任務調至前臺命令 fg
  • 終止進程命令 kill
  • 指定進程運行優先級命令 nice
  • 改變進程優先級命令 renice
  • 計劃任務命令 cron
  • 添加計劃任務命令 crontab
  • 執行一次性計劃任務命令 at

查看進程命令 ps

參數

a:顯示所有終端進程
u:顯示所有用戶進程
x:顯示所有進程,包括沒有明確終端的進程
e:顯示所有進程,與參數x類似,但使用的格式爲BSD系統格式
f:顯示UID、PPID(父進程ID)、C(CPU佔用率)和STIME(進程啓動時間)字段
l:顯示進程的詳細列表

運行:

# ps -ef

顯示字段:

USER:運行此進程的用戶名稱
PID:進程ID
%CPU:進程的CPU佔用率
%MEM:實際內存佔用率
VSZ:進程佔用虛擬內存大小,單位KB
RSS:進程佔用物理內存大小,單位KB
TTY:從哪個終端啓動
STAT:目前進程所處的狀態屬性
START:進程開始運行時間
TIME:進程佔用CPU的時間總和
COMMAND:啓動進程使用的命令

STAT字段進程狀態標識:

D:不可中斷的等待狀態,通常是等待I/O設備(磁盤及網絡等)的數據等
R:正處於運行隊列中的進程
S:正處於中斷休眠狀態的進程,該進程可能是在等某個中斷消息
T:已停止工作的進程,因其被跟蹤所以存在
X:已經死亡的進程,通常不會看到這類進程
Z:已經僵死的進程,通常不會看到這類進程
<:高優先級進程
N:低優先級進程
s:會話的管理者
+:進程會使用前臺的終端
l:多線程進程

查看進程樹命令 pstree

# pstree

實時顯示進程命令 top

# top

幾個新字段:

PR:進程的優先級
NI:該進程的優先級值
VIRT:進程使用的虛擬內存總量
RES:進程使用的物理內存總量
SHR:進程使用的共享內存大小

按H鍵查看幫助信息
按P鍵按CPU使用率排序
按M鍵按內存佔用率排序

查看後臺任務命令 jobs

# jobs

後臺任務調至前臺命令 fg

# fg [作業號]

終止進程命令 kill

命令格式

# kill -signal PID

例如:

查看信號列表
# kill -l
強制終止PID爲16952的進程
# kill -9 16952

指定進程運行優先級命令 nice

命令格式

# nice [option] [command]

例如:

以優先級19運行腳本exam.sh
# nice -n 19 ./exam.sh &

改變進程優先級命令 renice

命令格式

# renice -n PID

例如:

改變PID爲15478進程的優先級爲5
# renice -5 15478

添加計劃任務命令 crontab

計劃任務格式 cron

# * * * * * command

第一個*:分鐘1~59
第二個*:小時0~23
第三個*:日期1~31
第四個*:月份1~12
第五個*:星期0~6

-:表示一個範圍
*:表示每個單位時間
,:表示一個列表
#:表示行註釋
/:表示一個分隔時間段

例如:

每週星期六、星期日的19點到24點,每隔15分鐘運行腳本/file/net_tj.sh
# */15 19-24 * * 6,0 /file/net_tj.sh

crontab 參數

u:指定要操作的系統任務
e:編輯計劃任務
r:刪除計劃任務
l:查看已經存在的計劃任務

執行一次性計劃任務命令 at

命令格式

# at [option] [time command]

參數

f:指定一個文件作爲任務腳本
m:完成任務之後給用戶發送一個郵件
l:列出計劃任務列表
d:刪除指定的計劃任務

例如:

添加一個5小時後執行腳本/root/exam.sh的任務
# at now +5 hour -f /root/exam.sh

如有不當之處,請予指正,謝謝~

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