吳宏東 - 記於2018年06月19日 - 博客 https://segmentfault.com/u/wu...shell
PID:進程的惟一標識號;
systemd:系統啓動後第一個進程,PID=1;
login:systemd進程會建立login進程,因此,systemd是login的父進程,反之login是systemd的子進程;
shell:shell(默認是bash)是login進程建立的,其後用戶的全部進程都由該進程派生建立;segmentfault
RUID:實際用戶識別號;
RGID:實際組識別號;
EUID:有效用戶識別號;
EGID:有效組識別號;
RUID和RGID的做用是識別正在運行此進程的用戶和組;
若是程序沒有設置SUID和SGID,那麼EUID和EGID就是RUID和RGID,而RUID和RGID就是用戶和組的UID和GID;bash
交互進程:由shell啓動的進程,能夠前臺或後臺運行;
批處理進程:不與特定終端關聯,加入後臺的計劃隊列順序處理;
守護進程:系統初始化後,須要運行於後臺的進程;命令行
[-a]:顯示全部進程;
[-u]:顯示用戶名和啓動時間等信息;
[-x]:顯示沒有控制終端的進程;
[-w]:顯示完整命令行;code
# 查找關於openshift的進程 ps -aux|grep openshift;
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 128020 6620 ? Ss 10:33 0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0.0 0.0 0 0 ? S 10:33 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 10:33 0:00 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< 10:33 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? S 10:33 0:01 [kworker/u256:0]
USER:用戶名;
PID:進程號;
%CPU:佔用CPU時間與總時間的百分比;
%MEM:佔用內存與系統內存總量的百分比;
VSZ:佔用虛擬內存空間,單位KB;
RSS:佔用內存空間,單位KB;
TTY:從哪一個終端啓動;
STAT:進程當前狀態;
START:開始執行時間;
TIME:自啓動以來佔用CPU的總時間;
COMMAND:啓動命令名; 隊列
狀態:R 執行中;S 睡眠;T 追蹤或中止;Z 殭屍進程;< 高優先級;N 低優先級;進程
經過模糊匹配模式,查找進程的ID內存
# 查找關於openshift的進程ID pgrep openshift;
經過模糊匹配模式,查找進程的IDget
# 查找關於openshift的進程ID pidof openshift;
# 殺死指定PID爲10086的進程 kill 10086; # 強制殺死進程 kill -9 10086; # 殺死進程名爲openshift的進程 kill openshift; kill -9 $(pgrep openshift);
# 殺死進程名爲openshift的全部進程 killall openshift;
# 殺死進程名爲openshift的全部進程 pkill openshift;
cmd &:表示後臺執行;
nohup cmd &:表示後臺執行,而且用戶註銷後仍然運行着;
<Ctrl+D>:正常終止一個前臺運行的進程;
<Ctrl+C>:強行終止一個前臺運行的進程;
<Ctrl+Z>:掛起一個正在前臺運行的進程;
<Ctrl+S>:掛起終端;
<Ctrl+Q>:解除掛起終端;cmd
# 終端休眠100秒,調度到後臺運行 sleep 100 &;
# 終端休眠100秒,調度到後臺運行,且用戶註銷後仍然運行着 nohup sleep 100 &;
# 查看正在運行的做業 jobs; # 顯示進程PID jobs -l;
[root@master ~]# jobs -l [1]+ 1810 完成 sleep 100
[1] 是做業序號;
1810 是進程PID;
sleep 100 是命令;
# 將做業[1]調度到前臺終端運行 fg %1;
# 將做業[1]調度到後臺終端運行 bg %1;
# 將做業[1]進程殺死 kill %1;