- 子進程和父進程
- 當我們打開bash,執行一個其他的命令時,比如說執行
vim a
bash就是父進程,而vim就是子進程 - 每一個進程都有一個PID,他的父進程就根據PPID來進行判斷
- 當我們打開bash,執行一個其他的命令時,比如說執行
- fork and exec 過程調用的流程
- 子進程和父進程的相互調用(呼叫)被稱爲fork-and-exec流程
- 程序由父進程以複製(fork)的方式產生一個一模一樣的子進程,然後被複製出來的子進程再以exec的方式來執行實際要進行的程序.最終產生一個子進程.
- 系統或網絡服務
- 一些常駐內存的進程.比如說網絡服務,系統的一些服務等.
linux 多人多任務環境
- 多人環境 每個用戶登錄系統後的PID不同
- 多任務行爲 通過CPU切換進程的工作.
- 多重登錄環境的7個基本終端窗口 用來在某一個bash卡死時用另一個來結束
- bash 環境下的工作管理(job control)
- 不可能通過tty1去管理tty2的bash.
- 將進程後臺運行
&
- 將當前正在進行的工作丟到後臺(暫停)
ctrl-z
- 觀察目前後臺運行的工作
jbos
-l
列出進程的PID號-r
僅列出正在後臺運行的工作-s
僅列出正在後臺暫停的工作
- 將後臺工作拿到前臺來處理
fg %jobnumber
- 將後臺暫停的工作改變爲運行的工作
bg %jobnumber
- 殺掉進程
kill -signal PID
-l
列出目前能夠殺掉的進程有哪些-1
reload 配置文件-2
ctrl-c-9
強制殺掉-15
以正常方式結束一個進程
- 查看進程
ps
-A
列出所有的進程 和-e
一樣-a
列出所有不跟終端相關的進程-u
列出有效使用者的進程-x
通常與-a
一起使用,列出較完整的信息-j
工作的方式
- 動態查看進程的變化
top
-d
刷新時間-p
觀察某個特定的PID- 在top執行過程中可以用到的命令
?
顯示top當前可以輸入的命令P
以CPU的使用率排序M
以內存的使用率排序N
以PID排序T
由該PID使用的CPU總時間排序k
給某個PID發送一個signal(信號)r
給某個PID重新指定一個nice(優先級)值q
離開top
- 查看進程之間的相關性
pstree
- 查看內存使用情況
free [-b|-k|-m|-g] [-t]
-t“` 顯示屋裏內存與swap的總量
<ul><li>第一組表示以什麼單位來表示</li>
<li>
- 查看系統與核心相關信息
uname [-asrmpi]
-a
系統所有信息-s
系統核心名稱-r
核心的版本-m
本系統的硬件名稱-p
CPU類型-i
硬件平臺(x86)
- 查看系統啓動時間和工作負載
uptime
- 查看網絡信息
netstat -[atunlp]
-a
將系統上所有的聯機,監聽,Socket都列出-t
列出tcp網絡封包的數據-u
列出udp網絡封包的數據-l
列出正在監聽的網絡服務-p
列出該網絡服務的PID
- 分析核心產生的信息
dmesg
檢測系統資源變化
vmstat
參數說明:
/proc 目錄表示內存,硬件,驅動等的信息.不用動.
- 根據文件或者文件系統查找正在使用該文件的進程
fuser [-umv] [-k [i] [-signal]] file/dir
-u
列出進程的PID和擁有者-m
將文件顯示在該文件系統的第一行.-v
列出每個文件與進程還有命令的完整相關性-k
找出使用該文件的PID,並嘗試以SIGKILL結束該PID-i
必須與-k
配合,在刪除PID之間會詢問使用者是否同意signal
信號
linux 進程管理
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.