Linux進程管理與計劃任務
阿新 • • 發佈:2018-06-25
創建 use 日期 過濾 結束 任務 隊列 art 啟用 一、進程
1.進程概述
應用程序(軟件):由開發人員使用語言編寫;實現用戶具體需求
進程:運行軟件時產生,用於拿取使用硬件資源
子進程:由單個父進程產生,當父進程結束時,該父進程的子進程全部結束
線程:由進程產生,每個線程各自管理不同的資源內容,合理分配、管理資源
※軟件使用過程:開發人員編寫→使用軟件→產生進程→產生線程→使用硬件資源
2.查看進程
(1)pstree [選項] //以樹形結構顯示當前系統進程情況
選項
-a:顯示當前系統所有進程
-p:顯示每個進程對應的PID(進程編號)
(2)ps aux //簡單方式查看進程信息
選項
a:顯示當前所有進程信息,包括啟用其他用戶的進程 u:顯示運行用戶 x:顯示所運行終端
(3)ps -efl //詳細查看進程和其所屬父進程
選項
-e:顯示系統內所有進程
-l:長格式顯示進程信息
-f:顯示進程的完整信息
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.0 219512 7716 ? Ss 08:28 0:03 /sbin/init USER:運行用戶 PID:進程的標識符 TTY:?(本地)、ttyx(1-7)、pts/x(遠程) STAT:S(休眠狀態)、s(包含子進程)、R(運行中或隊列中)、T(停止)、Z(僵死進程;殺死)、X(殺死)、D(不可中斷)、+(後臺進程)、<(高優先級)、n(低優先級) COMMAND:由哪個程序產生的進程
(4)pgrep [ 選項 ] //過濾顯示指定進程
選項:
-l:顯示進程名
-U:顯示指定用戶運行進程
-t:顯示指定終端
例:
pgrep -l "log" //過濾顯示所有包含log的進程名
pgrep -U root -l //過濾顯示root用戶運行的進程
pgrep -t tty1 -l //過濾顯示在tty1開啟的進程
(5)top //動態查看進程,q鍵退出
(6)htop //人性化動態查看靜態
安裝htop:
dhclient -d eth1 //自動獲取IP rm -rf /etc/yum.repos.d/* //刪除系統自帶YUM源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo //下載官方YUM源 yum -y install epel-release //安裝第三方YUM源 yum -y install htop
2.結束進程
(1)kill [-9] PID //殺死指定PID進程
(2)killall [-9] 進程名 //殺死指定進程名
(3)pkill [-9] -u 用戶名 //殺死所有指定用戶開啟的進程
(4)ps aux | grep 用戶名 | awk ‘{print $1}‘ | xargs kill -9 //殺死所有指定用戶開啟的進程
二、計劃任務
1.一次性計劃任務
(1)at 時間 日期 //創建一次性計劃任務
at> 命令
ctrl+d鍵 //提交
(2)service atd start && chkconfig --level 35 atd on //啟動atd服務並設置為開機自啟
(3)atq //查看未執行的計劃任務
(4)atrm [number] //刪除指定計劃任務
※註:所創建任務保存在/var/spool/at/目錄下
2.周期性計劃任務
crontab -e [-u 用戶] //創建周期性計劃任務
註:如不使用-u選項,則給當前用戶創建
格式
分 時 日 月 周 命令
0-59 0-23 1-31 1-12 1-7 xxx
crontab -l //查看計劃任務
crontab -r //刪除計劃任務
例:
每個月1號的0點重啟服務器
0 0 1 * * /sbin/reboot
※註:所創建任務保存在/var/spool/cron/用戶/目錄下
Linux進程管理與計劃任務