1. 程式人生 > >Linux進程管理與計劃任務

Linux進程管理與計劃任務

創建 use 日期 過濾 結束 任務 隊列 art 啟用

一、進程

1.進程概述

應用程序(軟件):由開發人員使用語言編寫;實現用戶具體需求
進程:運行軟件時產生,用於拿取使用硬件資源
  子進程:由單個父進程產生,當父進程結束時,該父進程的子進程全部結束
線程:由進程產生,每個線程各自管理不同的資源內容,合理分配、管理資源
※軟件使用過程:開發人員編寫→使用軟件→產生進程→產生線程→使用硬件資源

2.查看進程

(1)pstree    [選項]           //以樹形結構顯示當前系統進程情況

選項

-a:顯示當前系統所有進程
-p:顯示每個進程對應的PID(進程編號)
(2)ps aux           //簡單方式查看進程信息

選項

a:顯示當前所有進程信息,包括啟用其他用戶的進程
u:顯示運行用戶
x:顯示所運行終端
(3)ps -efl          //詳細查看進程和其所屬父進程

選項

-e:顯示系統內所有進程
-l:長格式顯示進程信息
-f:顯示進程的完整信息
USER       PID %CPU %MEM    VSZ        RSS      TTY      STAT   START   TIME   COMMAND
root         1        0.1  0.0           219512  7716       ?        Ss        08:28      0:03    /sbin/init
USER:運行用戶
PID:進程的標識符
TTY:?(本地)、ttyx(1-7)、pts/x(遠程)
STAT:S(休眠狀態)、s(包含子進程)、R(運行中或隊列中)、T(停止)、Z(僵死進程;殺死)、X(殺死)、D(不可中斷)、+(後臺進程)、<(高優先級)、n(低優先級)
COMMAND:由哪個程序產生的進程
(4)pgrep [ 選項 ]         //過濾顯示指定進程

選項

-l:顯示進程名
-U:顯示指定用戶運行進程
-t:顯示指定終端

pgrep -l "log"      //過濾顯示所有包含log的進程名
pgrep -U root -l        //過濾顯示root用戶運行的進程
pgrep -t tty1 -l        //過濾顯示在tty1開啟的進程
(5)top          //動態查看進程,q鍵退出
(6)htop         //人性化動態查看靜態

安裝htop

dhclient -d eth1    //自動獲取IP
rm -rf /etc/yum.repos.d/*       //刪除系統自帶YUM源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo  //下載官方YUM源
yum -y install epel-release     //安裝第三方YUM源
yum -y install htop

2.結束進程

(1)kill [-9] PID            //殺死指定PID進程
(2)killall [-9] 進程名         //殺死指定進程名
(3)pkill [-9] -u 用戶名        //殺死所有指定用戶開啟的進程
(4)ps aux | grep 用戶名 | awk ‘{print $1}‘ | xargs kill -9     //殺死所有指定用戶開啟的進程

二、計劃任務


1.一次性計劃任務

(1)at 時間 日期         //創建一次性計劃任務
  at> 命令
  ctrl+d鍵       //提交
(2)service atd start && chkconfig --level 35 atd on     //啟動atd服務並設置為開機自啟
(3)atq              //查看未執行的計劃任務
(4)atrm [number]            //刪除指定計劃任務

:所創建任務保存在/var/spool/at/目錄下

2.周期性計劃任務

crontab -e [-u 用戶]      //創建周期性計劃任務

:如不使用-u選項,則給當前用戶創建
格式

分       時        日         月          周         命令
0-59      0-23      1-31       1-12      1-7         xxx
crontab -l  //查看計劃任務
crontab -r  //刪除計劃任務

例:
每個月1號的0點重啟服務器

    0 0 1 * *   /sbin/reboot 

:所創建任務保存在/var/spool/cron/用戶/目錄下

Linux進程管理與計劃任務