日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux进程和计划任务管理(详细图例)

發布時間:2024/2/28 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux进程和计划任务管理(详细图例) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux進程和計劃任務管理

  • 一、進程和進程的關系
  • 二、查看進程信息——ps
    • 2.1 方法一:ps aux
    • 2.2 方法二:ps -elf
  • 三、查看進程信息——top
    • 3.1 top命令
    • 3.2 top常用命令
    • 進程信息區各列解釋
  • 四、查看進程信息——pgrep
  • 五、查看進程樹——pstree
  • 六、進程的啟動方式
    • 6.1 手動啟動
    • 6.2 調度啟動
    • 6.3 進程的前后臺調度
  • 七、終止進程的運行
    • 7.1 ctrl+c組合鍵
    • 7.2 kill、killall命令
    • 7.3 pkill命令
  • 八、計劃任務管理
    • 8.1 一次性計劃任務——at
    • 8.2 計劃任務管理——crontab
      • 8.2.1 管理crontab計劃任務
      • 8.2.2 crontab任務配置的格式
      • 8.2.3 時間數值的特殊表示方法
      • 8.2.4 應用實例

一、進程和進程的關系

■程序

  • 保存在硬盤、光盤等介質中的可執行代碼和數據
  • 文件中靜態保存的代碼

■進程

  • 在CPU及內存中運行的程序代碼
  • 動態執行的代碼
  • 父、子進程
  • 每個程序可以創建一個或多個進程

二、查看進程信息——ps

■ps命令

  • 查看靜態的進程統計信息

2.1 方法一:ps aux

方法一:ps aux a:顯示終端上的所有進程,包括其它用戶的進程。 u:表示列出進程的用戶。 x:顯示所有終端的進程。

參數解釋
USER進程的用戶。
PID進程的ID。
%CPU進程占用的CPU百分比。
%MEM占用內存的百分比。
VSZ該進程使用的虛擬內存量(KB)。
RSS該進程占用的物理內存量(KB)。
TTY啟動進程的終端名。不是從終端啟動的進程則顯示為 ?
STAT該行程的狀態
(D:不可中斷的休眠狀態;R:正在運行狀態;S:處于休眠狀態,可被喚醒;T:停止狀態,可能是在后臺暫停或進程處于跟蹤調試狀態;Z:僵尸進程,進程已經中止,但是部分程序還在內存中)
START該進程被觸發啟動時間。
TIME該進程實際使用CPU運行的時間。
COMMAND進程的啟動命令。

2.2 方法二:ps -elf

方法二:ps -elf -e:顯示系統內的所有進程信息。 -l:使用長格式顯示進程信息。 -f:使用完整的格式顯示進程信息。

參數解釋
F內核分配給進程的系統標記。
S進程的狀態。
UID啟動這些進程的用戶。
PID進程的進程ID。
PPID父進程的進程號(如果該進程是由另一個進程啟動的)。
C進程生命周期中的CPU利用率。
PRI進程的優先級(越大的數字代表越低的優先級)。
NI謙讓度值用來參與決定優先級。
ADDR進程的內存地址。
SZ假如進程被換出,所需交換空間的大致大小。
WCHAN若該進程在睡眠,則顯示睡眠中的系統函數名。
STIME進程啟動時的系統時間。
TTY進程啟動時的終端設備。
TIME運行進程需要的累計CPU時間。
CMD進程的啟動命令。

僵尸進程:一個進程結束了,但是如果該進程的父進程已經先結束了,那么該進程就不會變成僵尸進程,因為每個進程結束的時候,系統都會掃描當前系統中所運行的所有進程,看有沒有哪個進程是剛剛結束的這個進程的子進程,如果是的話,就由Init來接管它,成為它的父進程,子進程退出后init會回收其占用的相關資源。
但是當子進程比父進程先結束,而父進程又沒有回收子進程,釋放子進程占用的資源,此時子進程將成為一個僵尸進程。

三、查看進程信息——top

3.1 top命令

  • 查看動態的進程排名信息
[root@localhost~]# top

3.2 top常用命令

按鍵作用
P 鍵根據CPU使用百分比大小進行排序
M 鍵根據駐留內存大小進行排序
N 鍵根據啟動時間進行排序
c 鍵切換顯示命令名稱和完整命令行
h 鍵可以獲得 top程序的在線幫助信息
k 鍵根據提示輸入指定進程的 PID 號并按 Enter 鍵終止對應的進程
q 鍵退出 top 程序
數字1 鍵顯示CPU個數和狀態
## 每行對應的信息 ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210201212359218.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lIQk9T,size_16,color_FFFFFF,t_70)
  • 第一行是任務隊列信息
    21:22:36 : 系統時間
    up 42 min : 系統已運行時長
    4 user :當前登錄用戶數
    load average: 0.00, 0.01, 0.05 :系統負載,即單位時間內系統處理的任務數,后面三個數值分別為1分鐘、5分鐘、15分鐘前到現在的平均值
  • 第二行為進程信息
    Tasks :總進程數
    running :正在運行的進程數
    sleeping :休眠的進程數
    stopped :中止的進程數
    zombie :僵死的進程數
  • 第三行為CPU的信息
    us :用戶占用
    sy :內核占用
    ni :優先級調度占用
    id :空閑CPU,要了解空閑的 CPU 百分比,主要看%id 部分
    wa:I/O 等待占用
    hi :硬件中斷占用
    si :軟件中斷占用
    st :虛擬化占用
  • 第四行為內存的信息
    total:總內存空間
    free :空閑內存
    used:已用內存
    buff/cache:物理內存和交換內存的緩沖區總和
  • 第五行為交換空間的信息
    total:總交換空間
    free :空閑交換空間
    used:已用交換空間
    avail Mem:可用物理空間

進程信息區各列解釋

進程信息區參數解釋
PID進程id
USER進程所有者的用戶名
PR優先級
NI謙讓度值。負值表示高優先級,正值表示低優先級
VIRT進程使用的虛擬內存總量,單位kb
RES進程使用的物理內存大小,單位kb
SHR共享內存大小,單位kb
S進程狀態
%CPU上次更新到現在的CPU時間占用百分比
%MEM進程使用的物理內存百分比
TIME+進程使用的CPU時間總計,單位1/100秒
COMMAND命令名/命令行

四、查看進程信息——pgrep

■pgrep命令

  • gprep根據特定條件查詢進程PID信息
pgrep -l "進程關鍵字" 指定查看進程名 -l 顯示進程名稱 -u 指定進程的有效用戶ID

這邊我們在1 centos7-1中打開top進程

pgrep -l
這邊在2 centos7-1中用pgrep查看進程

pgrep -l -U 指定用戶
這里我們在1 centos7-1切換到用戶張三打開top進程

這邊在2 centos7-1中用pgrep -l -U查看進程

五、查看進程樹——pstree

pstree以樹形結構列出進程信息 pstree -aup -a 顯示完整信息 -u 列出對應用戶名 -p 列出對應PID號

六、進程的啟動方式

6.1 手動啟動

  • 前臺啟動:用戶輸入命令,直接執行程序
  • 后臺啟動:在命令行尾加入“&”符號


這邊我在命令后面加了&可以看到可以把操作放在后臺去執行

6.2 調度啟動

  • 使用at命令,設置一次性計劃任務
  • 使用crotab命令,設置周期性計劃任務

6.3 進程的前后臺調度

按鍵或命令作用
Ctrl+Z組合鍵將當前進程掛起,即調入后臺并停止執行
jobs命令查看處于后臺的任務列表
jobs -l(加上-l顯示進程號,某些命令需要進程號)
fg命令將后臺進程恢復到前臺運行,可指定任務序號

演示:Ctrl+Z組合鍵
這邊我們創建一個abc文件進入后Ctrl+Z可以看到程序被掛起了

演示:jobs -l查看處于后臺的任務列表

演示:fg 1 將后臺進程恢復到前臺運行

可以看到原來掛起的程序恢復了

七、終止進程的運行

7.1 ctrl+c組合鍵

  • 中斷正在執行的命令

7.2 kill、killall命令

  • kill用于終止指定PID號的進程
  • killall用于終止指定名稱相關的所有進程
  • -9選項用于強制終止

演示:kill -9 加上PID號


演示:killall -9 加上指定名稱

7.3 pkill命令

  • 根據特定條件終止相應的進程
常用命令選項 -U:根據進程所屬的用戶名終止相應進程 -t:根據進程所在的終端終止相應程序

演示:

這是我們殺掉了指定用戶zhangsan的進程
我們看一下另一個窗口看一下用戶張三的狀態,可以看到進程被干掉了

八、計劃任務管理

8.1 一次性計劃任務——at

■at命令

  • 一次性計劃任務
at 【HH:MM】【yyyy-mm-dd】 如果后面不跟年月日,那么默認使用當前日 HH:小時 MM:分鐘 yyyy:年 mm:月 dd:日 [root@localhost~]#at 10:35 2017-05-07 at> init 6 ctrl d 提交一次性計劃任務 at> <EOT> job 1 at Sun May 7 10:35:00 2017[root@localhost~]# atq 查看未執行的任務列表 [root@localhost~]# atrm 1 刪除序號為1的任務

演示:創建一個一次性任務任務為:2021年12月12日12:12分重啟

atq:查看未執行的任務列表

atrm 1:刪除序號為1的任務

8.2 計劃任務管理——crontab

■crontab命令

  • 概念:按照預先設置的時間周期(分、時、日、月、周)重復執行用戶指定的命令操作
  • 屬于周期性計劃任務
  • 主要配置文件
    全局配置文件,位于文件:/etc/crontab
    系統默認的設置,位于目錄:/etc/cron.*/
    用戶定義的設置,位于文件:/var/spool/cron/用戶名

8.2.1 管理crontab計劃任務

編輯計劃任務:crontab -e [-u 用戶名] # -u默認的是當前用戶 查看計劃任務:crontab -l [-u 用戶名] 刪除計劃任務:crontab -r [-u 用戶名] 方法二: echo ‘30 7 * * 6 /usr/bin/systemctl httpd restart’ >> /var/spool/cron/root

8.2.2 crontab任務配置的格式

字段分鐘小時日期月份星期任務
取值范圍0~590~231~311~120~7執行的命令或腳本

注:周的數字為0或7時,都代表“星期天”的意思

8.2.3 時間數值的特殊表示方法

* 表示該范圍內的任意時間 , 表示間隔的多個不連續時間點 - 表示一個連續的時間范圍 / 表示間隔的時間頻率

8.2.4 應用實例

0 17 * * 1-5 周一到周五每天17點 30 8 * * 1,3,5 周一,周三,周五8.30 0 8-18/2 * * * 8點到18點每兩小時 0 * */3 * * 每三天 1.每分鐘定時執行一次規則: 每1分鐘執行: */1 * * * *或者* * * * * 每5分鐘執行: */5 * * * *2.每小時定時執行一次規則: 每小時執行: 0 * * * *或者0 */1 * * * 每天上午7點執行:0 7 * * * 每天上午7點10分執行:10 7 * * *3.每天定時執行一次規則: 每天執行 0 0 * * *4.每周定時執行一次規則: 每周執行 0 0 * * 05.每月定時執行一次規則: 每月執行 0 0 1 * *6.每年定時執行一次規則: 每年執行 0 0 1 1 *其他例子: 5 * * * * ls 指定每小時的第5分鐘執行一次ls命令 30 5 * * * ls 指定每天的 5:30 執行ls命令 30 7 8 * * ls 指定每月8號的7:30分執行ls命令 30 5 8 6 * ls 指定每年的6月8日5:30執行ls命令 30 6 * * 0 ls 指定每星期日的6:30執行ls命令[注:0表示星期天,1表示星期1,以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。] 30 3 10,20 * * ls 每月10號及20號的3:30執行ls命令[注:“,”用來連接多個不連續的時段] 25 8-11 * * * ls 每天8-11點的第25分鐘執行ls命令[注:“-”用來連接連續的時段] */15 * * * * ls 每15分鐘執行一次ls命令 [即每個小時的第0 15 30 45 60分鐘執行ls命令 ] 30 6 */10 * * ls 每個月中,每隔10天6:30執行一次ls命令[即每月的1、11、21、31日是的6:30執行一次ls命令。 ]方法二: echo ‘30 7 * * 6 /usr/bin/systemctl httpd restart’ >> /var/spool/cron/root

總結

以上是生活随笔為你收集整理的Linux进程和计划任务管理(详细图例)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。