一、程序概念
執行中的程式的乙個副本,是被載入記憶體的乙個指令集合 程序id(process id,pid)號碼被用來標記各個程序uid、gid、和selinux語境決定對檔案系統的訪問和訪問許可權,通常從執行程序的使用者來繼承 存在生命週期。
二、程序狀態
1)執行狀態:running
2)就緒狀態:ready
3)睡眠可中斷
4)睡眠不可中斷
5)停止狀態 stopped 6)僵死狀態 zombie
三、程序管理命令
linux系統狀態的檢視及管理工具:pstree, ps, pidof, pgrep, top, htop, glance, pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup
linux系統各程序的相關資訊均儲存在/proc/pid目錄下 的各檔案中
pstree命令:
pstree - display a tree of processes
ps命令:
ps - report a snapshot of the current processes
ps [option]...
-e:顯示所有程序和-a等同
-a:顯示所有程序和-e等同
-f:選項顯示其程序的父程序
-u:選項顯示所有者資訊
-x:包括不鏈結終端的程序
-o:指定屬性進行顯示:pid,comm,%cpu,%mem,state,tty,euser(effective user),ruser(real user)
vsz:virtual memory size,虛擬記憶體集
rss:常駐記憶體集(物理記憶體集)
stat狀態:
r:running
s:interruptable sleeping
d:uninterruptable sleeping
t:stopped
z:zombie
常用組合:-ef
-e: 顯示所有程序
-f: 顯示完整格式程式資訊
常用組合:-efh
-f: 顯示更完整格式的程序資訊
-h: 以程序層級格式顯示程序相關資訊
常用組合:自定義 -eo pid,tid,class,rtprio,ni,pri,psr, pcpu,stat,comm axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid, pid,pcpu,comm
ni:nice值 pri:priority,優先順序 psr:processor,cpu編號
rtprio:實時優先順序
pgrep命令:
pgrep [options] pattern
選項: -u:uid,程序的生效者
-u:real user,真正發起執行命令者
-t:terminal,與終端相關的程序
-l: 顯示程序名
-a:顯示完整格式的程序名
-p:pid,顯示指定程序的子程序
按確切的程式名稱:/sbin/pidof pidof bash
三、程序管理工具
欄目資訊:
us:user
space:使用者空間
sy:核心空間
ni:nice值
wa:等待i0時間
id:空閒
hi:硬中斷
si:軟中斷
st: stolen 虛擬機器偷走的時間
程序相關引數說明:
pid:任務的程序號
ppid:程序的父程序的程序號
ruser:程序的所有者
euser:程序的生效使用者
tty:終端
pr:優先順序
%cpu:cpu的占有率
%mem:記憶體的占有率
s:程序狀態
time+:cpu工作時間
top:有許多程序內建命令
1)排序
p:以佔據的cpu的百分比,%cpu
m:佔據記憶體的百分比,%mem
t:累積佔據cpu時長time
2)首部資訊
uptime資訊:l命令
tasks及cpu資訊:t命令
memory資訊:m命令
3)退出命令:q
終止指定程序:k
儲存檔案:w
kill命令:向程序傳送程序控制訊號,以實現對程序管理。
1)sighub:無需關閉程序,而讓其重讀配置檔案
2)sigint: 中止正在執行中的程序
9)sigkill: 殺死正在執行的程序
15)sigtem: 中止正在執行的程序,讓其執行完,再次殺死
18)sigcont: 繼續執行
19)sigstop: 後台休眠
指定訊號的方法:
(1) 訊號的數字標識;1, 2, 9
(2) 訊號完整名稱;sighup
(3) 訊號的簡寫名稱;hup
殺死程序的方法:
按pid:kill [-signal] pid...
按名稱:killall [-signal] comm
按模式:pkill [options] pattern
-signal
-u uid:effective user 生效者
-t:terminal:與指定終端相關的程序
-l:顯示程序名
-a:顯示完整格式的程序名
-p:pid 顯示父程序為此處指定的程序的 程序列表
生產環境之「程序」兩字
一 程序概念 執行中的程式的乙個副本,是被載入記憶體的乙個指令集合 程序id process id,pid 號碼被用來標記各個程序uid gid 和selinux語境決定對檔案系統的訪問和訪問許可權,通常從執行程序的使用者來繼承 存在生命週期。二 程序狀態 1 執行狀態 running 2 就緒狀態...
Unix程序環境之3 程序環境列表
1 程序環境 簡介當乙個程序 proecss 呼叫另乙個程式 program 時,同時會傳遞這個程式執行的環境列表 environment list 程序環境列表是乙個字元指標陣列,每個字元指標是乙個以空字元 null terminated 結束的c 字串。字元指標陣列位址包含在全域性變數envir...
生產環境docker部署之nginx部署
網上由很多關於docker某種容器的部署命令,比如nginx部署,jar包部署,監控部署等。但個人感覺很多不能達到企業生產化的效果,比如長期執行後的日誌問題,容器的服務的配置等等。因此在這裡記錄一下。nginx作為後端網關的入口,以及內部負載均衡的分發元件,在整個後端服務中是起非常重要的作用。說句題...