linux 進程管理相關命令彙總

## processes  進程管理
 
##ps查看當前系統執行的線程列表,進行瞬間狀態,不是連續狀態,連續狀態需要使用top名稱查看  更多常用參數請使用 man ps查看
ps
 
##顯示所有進程詳細信息
ps aux
 
##-u 顯示某個用戶的進程列表
ps -f -u www-data 
 
## -C 通過名字或者命令搜索進程
ps -C apache2
 
## --sort  根據進程cpu使用率降序排列,查看前5個進程  -pcpu表示降序  pcpu升序
ps aux --sort=-pcpu | head -5
 
##-f 用樹結構顯示進程的層次關係,父子進程情況下
ps -f --forest -C apache2 
 
##顯示一個父進程的所有子進程
ps -o pid,uname,comm -C apache2
ps --ppid 2359
 
##顯示一個進程的所有線程  -L 參數
ps -p 3150 -L 
 
##顯示進程的執行時間 -o參數
ps -e -o pid,comm,etime 
 
##watch命令可以用來實時捕捉ps顯示進程
watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15'
 
##jobs 查看後臺運行的進程  jobs命令執行的結果,+表示是一個當前的作業,減號表是是一個當前作業之後的一個作業,jobs -l選項可顯示所有任務的PID,jobs的狀態可以是running, stopped, Terminated,但是如果任務被終止了(kill),shell 從當前的shell環境已知的列表中刪除任務的進程標識;也就是說,jobs命令顯示的是當前shell環境中所起的後臺正在運行或者被掛起的任務信息
jobs
 
##查看後臺運營的進程號
jobs -p
 
##查看現在被終止或者退出的進程號
jobs -n
 
 
##kill命令 終止一個前臺進程可以使用Ctrl+C鍵   kill  通過top或者ps獲取進程id號  kill [-s 信號 | -p ] [ -a ] 進程號 ...
##發送指定的信號到相應進程。不指定型號將發送SIGTERM(15)終止指定進程。 關閉進程號12的進程
kill 12
 
 
##等同於在前臺運行PID爲123的進程時按下Ctrl+C鍵
kill -2 123
 
##如果任無法終止該程序可用“-KILL” 參數,其發送的信號爲SIGKILL(9) ,將強制結束進程  
kill -9 123
 
##列出所有信號名稱
##HUP    1    終端斷線
##INT     2    中斷(同 Ctrl + C)
##QUIT    3    退出(同 Ctrl + \)
##TERM   15    終止
##KILL    9    強制終止
##CONT   18    繼續(與STOP相反, fg/bg命令)
##STOP    19    暫停(同 Ctrl + Z)
kill -l
 
##得到指定信號的數值
kill -l KILL
 
##殺死指定用戶所有進程
kill -u peidalinux
kill -9 $(ps -ef | grep peidalinux) 
 
##將後臺中的命令調至前臺繼續運行  將進程123調至前臺執行
fg 123
 
##將一個在後臺暫停的命令,變成繼續執行
bg  123
 
##該命令可以在你退出帳戶/關閉終端之後繼續運行相應的進程。nohup就是不掛起的意思  下面輸出被重定向到myout.file文件中
nohup command > myout.file 2>&1 &
 
##at:計劃任務,在特定的時間執行某項工作,在特定的時間執行一次。
## 格式:at HH:MM YYYY-MM-DD //HH(小時):MM(分鐘) YYYY(年)-MM(月份)-DD(日)
##HH[am pm]+D(天) days //HH(小時)[am(上午)pm(下午)]+days(天)
at 12:00(時間) //at命令設定12:00執行一項操作
#at>useradd aaa //在at命令裏設定添加用戶aaa
#ctrl+d //退出at命令
#tail -f /etc/passwd //查看/etc/passwd文件後十行是否增加了一個用戶aaa
 
##計劃任務設定後,在沒有執行之前我們可以用atq命令來查看系統沒有執行工作任務。
atq
 
##啓動計劃任務後,如果不想啓動設定好的計劃任務可以使用atrm命令刪除。
atrm 1 //刪除計劃任務1
 
##pstree命令:列出當前的進程,以及它們的樹狀結構  格式:pstree [選項] [pid|user]
pstree
 
##nice命令:改變程序執行的優先權等級 應用程序優先權值的範圍從-20~19,數字越小,優先權就越高。一般情況下,普通應用程序的優先權值(CPU使用權值)都是0,如果讓常用程序擁有較高的優先權等級,自然啓動和運行速度都會快些。需要注意的是普通用戶只能在0~19之間調整應用程序的優先權值,只有超級用戶有權調整更高的優先權值(從-20~19)。
nice [-n <優先等級>][--help][--version][命令]
nice -n 5 ls
 
##sleep命令:使進程暫停執行一段時間
date;sleep 1m;date
 
 
##renice命令 renice命令允許用戶修改一個正在運行進程的優先權。 利用renice命令可以在命令執行時調整其優先權。
##其中,參數number與nice命令的number意義相同。(1) 用戶只能對自己所有的進程使用renice命令。(2) root用戶可以在任何進程上使用renice命令。(3) 只有root用戶才能提高進程的優先權
renice -5 -p 5200  #PID爲5200的進程nice設爲-5
 
##pmap命令用於顯示一個或多個進程的內存狀態。其報告進程的地址空間和內存狀態信息 #pmap PID 
pmap 20367
 
##top 動態查看進程的變化。
top
 
 
##crontab 任務調度
##基本格式 :
##*  *  *  *  *  command
##分 時 日 月 周 命令
##第1列表示分鐘1~59 每分鐘用*或者 */1表示
##第2列表示小時1~23(0表示0點)
##第3列表示日期1~31
##第4列表示月份1~12
##第5列標識號星期0~6(0表示星期天)
##第6列要運行的命令
crontab -e ##執行文字編輯器來設定時程表,內定的文字編輯器是 VI,如果你想用別的文字編輯器,則請先設定 VISUAL 環境變數來指定使用那個文字編輯器(比如說 setenv VISUAL joe)
 
crontab -r ##刪除目前的時程表
 
crontab -l ##列出目前的時程表
 
crontab file [-u user] ##-用指定的文件替代目前的crontab。
#crontab文件的一些示例
30 21 * * * /usr/local/etc/rc.d/lighttpd restart  ##表示每晚的21:30重啓apache。
 
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart ##表示每月1、10、22日的4 : 45重啓apache。
 
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart ##表示每週六、週日的1 : 10重啓apache。
 
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart ##表示在每天18 : 00至23 : 00之間每隔30分鐘重啓apache。
 
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart  ##晚上11點到早上7點之間,每隔一小時重啓apache

更多linux常用日常操作腳本請參考:https://github.com/zhwj184/shell-work   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章