進程
一.進程介紹
內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、 安全功能等。
Process: 運行中的程序的一個 副本,是被 載入內存的一個指令集合。
進程ID (Process ID ,PID )號碼被用來標記各個進程
UID 、GID 、和SELinux 語境決定對文件系統的存取和 訪問權限,
通常 從執行進程的用戶來繼承。
存在生命周期
task struct :Linux 內核存儲進程信息的數據結構格式
task list :多個任務的的task struct 組成的鏈表
進程創建:
init :第一個進程
父子關系
進程:都由其父進程創建,COW
fork(), clone()
二、進程管理常用命令
v Linux 系統狀態的查看及管理工具:pstree, ps, pidof,pgrep, top, htop, glance, pmap, vmstat, dstat, kill,pkill, job, bg, fg, nohup
1.pstree-打印進程樹
2.ps—列舉進程
常用的選項:
a 選項包括所有終端中的進程
x 選項包括不連接終端的進程
u 選項顯示進程所有者的信息
f 選項顯示進程的父進程
o 屬性..選項顯示定制的信息:pid、comm、%cpu、%mem、state、tty、euser、ruser
常用組合選項:
ps aux
ps -ef (-e 顯示所有進程 -f 顯示完整格式程序信息)
ps -eFH(-F 顯示更完整格式的進程信息 -H 以進程層級格式顯示進程相關信息)
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
3.pidof—查詢進程號
pidof command 例如:pidof bash
4.pgrep—搜索進程
選項
-u uid:effercive user 生效者
-U uid:real user,真正發起運行命令者
-t 指定終端相關的進程
-l 顯示進程名
-a 顯示完整格式的進程名
-P 顯示之地進程的子進程
5.top——可以動態持續地顯示監控的過程
第六行可以輸入命令:
P 以占據的CPU百分比大小排序
M 以占據Memory空間大小排序
T CPU累積占用時間排序
l 是否顯示系統負載行
t 是否顯示進程摘要信息及CPU負載狀態
1 平均或單獨顯示CPU的負載狀態
m 是否顯示內存相關的狀態信息
s 修改延遲時長 k 終止指定進程 q 退出命令
6.htop—top的增強版
需要epel源來進行安裝
7.vmsate—動態顯示系統資源使用情況
vmsate -s 將一些事件導致的內存變化情況列表說明
-S 后面可以接單位,如K、M取代bytes的容量。
8.glances—-由python語言開發,能監視CPU、負載、內存、磁盤I/O、網絡流量、文件系統、系統溫度。
計劃任務
一、at任務
命令格式:at [option] TIME
常用選項:
-V 顯示版本信息
-l 列出指定隊列中等待運行的作業,相當于atq
-d 刪除指定的作業,相當于atrm
-c 查看具體的作業任務
-f /path/from/somefile:從指定文件中讀取任務
-m 當任務被完成后,將給用戶發送郵件,及時沒有標準輸出。
TIME選項說明:定義何時完成at中的任務
HH:MM[YYYY-mm-dd]
noon,midnight,teatime(4pm)
tomorrow
now+#{minutes,hours,days,or weeks}
二、corn—-周期性任務計劃
1.介紹 周期性任務計劃:cron
相關的程序包:
cronie: 主程序包,提供crond 守護進程及相關輔助工具
cronie-anacron :cronie 的補充程序;用于監控cronie任 任
務執行狀況;如cronie 中的任務在過去該運行的時間點未能正常
運行,則anacron 會隨后啟動一次此任務
crontabs :包含CentOS提供的系統維護任務
2.crond的狀態
查看crond 守護處于運行狀態:
CentOS 7:
systemctl status crond
CentOS 6:
service crond status
計劃周期性執行的任務提交給crond ,到指定時間會自動運行
系統cron 任務:系統維護作業
/etc/crontab
用戶cron 任務:
crontab 命令
日志:/var/log/cron
@reboot Run once after reboot.
@yearly 0 0 1 1 *
@annually 0 0 1 1 *
@monthly 0 0 1 * *
@weekly 0 0 * * 0
@daily 0 0 * * *
@hourly 0 * * * *
三、crond的命令
crond [-u user ] [-l |-r |-e ] [-i]
-l 列出所有任務
-e 編輯任務
-r 移除所有任務
-i 同-r一起使用,以交互式模式移除指定任務
原創文章,作者:yaobinbin,如若轉載,請注明出處:http://www.www58058.com/75650