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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux--进程与任务管理(查看和控制进程及计划任务管理)

發(fā)布時(shí)間:2024/3/13 linux 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux--进程与任务管理(查看和控制进程及计划任务管理) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、查看進(jìn)程
    • 1.查看進(jìn)程信息--ps
      • 1.1 方法一:ps -aux
      • 1.2 方法二:ps -elf
      • 1.3 其他示例
    • 2.查看進(jìn)程信息--top
      • 2.1 示例圖
      • 2.2系統(tǒng)任務(wù)(第一行)和進(jìn)程(第二行)的信息
      • 2.3 CPU(第三行)、內(nèi)存(第四行)的信息和交換空間(第五行)的相關(guān)信息
      • 2.4 進(jìn)程信息區(qū)各列詳解
      • 2.5 TOP 常用命令
    • 3.查看進(jìn)程信息--pgrep
    • 4.查看進(jìn)程樹--pstree
  • 二、控制進(jìn)程
    • 1.進(jìn)程的啟動(dòng)方式
      • 1.1 手工啟動(dòng)
      • 1.2 調(diào)動(dòng)啟用進(jìn)程
    • 2.進(jìn)程的前后臺(tái)調(diào)度
      • 2.1 掛起當(dāng)前進(jìn)程
      • 2.2 查看后臺(tái)的進(jìn)程
      • 2.3 將后臺(tái)的進(jìn)程恢復(fù)運(yùn)行
    • 3.終止進(jìn)程執(zhí)行
      • 3.1 kill
      • 3.2 killall
      • 3.3 pkill
  • 三、一次性計(jì)劃任務(wù)--at
  • 四、計(jì)劃任務(wù)管理--crontab
    • 1.配置文件和目錄
      • 1.1 系統(tǒng)任務(wù)配置文件,位于文件:/etc/crontab
      • 1.2 系統(tǒng)默認(rèn)的設(shè)置,位于目錄:/etc/cron.*/
      • 1.3 用戶定義的設(shè)置,位于文件:/var/spool/cron/
    • 2.管理crontab計(jì)劃任務(wù)
    • 3.crontab 任務(wù)配置的格式
    • 4.時(shí)間數(shù)值的特殊表示方法
  • 5.其他


一、查看進(jìn)程

  • 程序是保存在外部存儲(chǔ)介質(zhì)(如硬盤、光盤)中的可執(zhí)行機(jī)器代碼和數(shù)據(jù)的靜態(tài)集合(文件中靜態(tài)保存的代碼)
  • 進(jìn)程是在CPU及內(nèi)存中處于動(dòng)態(tài)執(zhí)行狀態(tài)的計(jì)算機(jī)程序
  • 在Linux系統(tǒng)中,每個(gè)程序啟動(dòng)后可以創(chuàng)建一個(gè)或多個(gè)進(jìn)程

1.查看進(jìn)程信息–ps

  • ps命令是Linux系統(tǒng)中最為常見的進(jìn)程查看工具,主要用于顯示包括包含當(dāng)前運(yùn)行的各進(jìn)程完整信息的靜態(tài)快照
  • 通過不同的命令選項(xiàng),可以有選擇性的查看進(jìn)程信息

1.1 方法一:ps -aux

  • a:顯示當(dāng)前終端下的所有進(jìn)程信息,包括其他用戶的進(jìn)程,與“x”選項(xiàng)結(jié)合使用時(shí)將顯示系統(tǒng)中所有的進(jìn)程信息
  • u:使用以用戶為主的格式輸出進(jìn)程信息
  • x:顯示當(dāng)前用戶在所有終端下的進(jìn)程信息
  • 將以簡(jiǎn)單列表的形式顯示出進(jìn)程信息
##例: [root@localhost ~]# ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 2.6 0.3 46344 6908 ? Ss 16:47 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0.0 0.0 0 0 ? S 16:47 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 16:47 0:00 [kworker/0:0] root 4 0.0 0.0 0 0 ? S< 16:47 0:00 [kworker/0:0H] ##省略... 名詞解釋
USER進(jìn)程的用戶
PID進(jìn)程的ID
%CPU進(jìn)程占用的CPU百分比
%MEN占用內(nèi)存的百分比
VSZ該進(jìn)程使用的虛擬內(nèi)存量(KB)
RSS該進(jìn)程使用的物理內(nèi)存量(KB)
TYY啟動(dòng)該進(jìn)程的終端名;若不是從終端啟動(dòng)的進(jìn)程則顯示為“?”
STAT該進(jìn)程的狀態(tài)(D:不可中斷的休眠狀態(tài);R:正在運(yùn)行狀態(tài);S:處于休眠狀態(tài),可被喚醒;s,父進(jìn)程;T:停止?fàn)顟B(tài),可能是在后臺(tái)暫停或進(jìn)程處于跟蹤調(diào)試狀態(tài);Z:僵尸進(jìn)程,進(jìn)程已經(jīng)終止,但是大部分程序還在內(nèi)存當(dāng)中;<:高優(yōu)先級(jí)狀態(tài);+:前臺(tái)進(jìn)程)7
START該進(jìn)程被觸發(fā)啟動(dòng)時(shí)間
TIME該進(jìn)程實(shí)際使用CPU運(yùn)行的時(shí)間
COMMAND進(jìn)程的啟動(dòng)命令
  • 名詞解釋(僵尸進(jìn)程):
    已經(jīng)結(jié)束了一個(gè)進(jìn)程,但是它任然還占用著內(nèi)存,也稱之為僵死

1.2 方法二:ps -elf

  • e:顯示系統(tǒng)內(nèi)的所有進(jìn)程信息
  • l:使用長(zhǎng)格式顯示進(jìn)程信息
  • f:使用完整的格式顯示進(jìn)程信息
  • 將以長(zhǎng)格式顯示系統(tǒng)中的進(jìn)程信息,并且包含更豐富的內(nèi)容
##例: [root@localhost ~]# ps -elf F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 4 S root 1 0 0 80 0 - 32068 ep_pol 16:47 ? 00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 1 S root 2 0 0 80 0 - 0 kthrea 16:47 ? 00:00:00 [kthreadd] 1 S root 4 2 0 60 -20 - 0 worker 16:47 ? 00:00:00 [kworker/0:0H] 1 S root 5 2 0 80 0 - 0 worker 16:47 ? 00:00:00 [kworker/u256:0] ##省略... 名詞解釋
F內(nèi)核分配給進(jìn)程的系統(tǒng)標(biāo)記
S進(jìn)程的狀態(tài)
UID啟動(dòng)這些進(jìn)程的用戶
PID進(jìn)程的進(jìn)程ID
PPID父進(jìn)程的進(jìn)程號(hào)(如果該進(jìn)程是由另一個(gè)進(jìn)程啟動(dòng)的)
C進(jìn)程生命周期中的CPU利用率
PRI進(jìn)程的優(yōu)先級(jí)(越大的數(shù)字代表越低的優(yōu)先級(jí))
NI謙讓度值用來參與決定優(yōu)先級(jí)
ADDR進(jìn)程的內(nèi)存地址
SZ假如進(jìn)程被換出,所需交換空間的大致大小
WCHAN若該進(jìn)程在睡眠,則顯示睡眠中的系統(tǒng)函數(shù)名
STIME進(jìn)程啟動(dòng)時(shí)的系統(tǒng)時(shí)間
TTY進(jìn)程啟動(dòng)時(shí)的終端設(shè)備
TIME運(yùn)行進(jìn)程需要的累計(jì)CPU時(shí)間
CMD進(jìn)程的啟動(dòng)命令

在CentOs7系統(tǒng),tty1表示圖形界面,tty2-tty6表示文字界面,可以用Ctrl+Alt+(F1-F6)切換

1.3 其他示例

  • 直接執(zhí)行不帶任何選項(xiàng)的ps命令時(shí),將只顯示當(dāng)前用戶會(huì)話中打開的進(jìn)程
[root@localhost ~]# psPID TTY TIME CMD1803 pts/0 00:00:00 bash2219 pts/0 00:00:00 ps
  • 由于系統(tǒng)中運(yùn)行的進(jìn)程數(shù)量較多,需要查詢某一個(gè)進(jìn)程的信息時(shí)可以結(jié)合管道符號(hào)和grep命令進(jìn)行過濾
[root@localhost ~]# ps aux | grep bash ##過濾出包含“bash”的信息 root 666 0.0 0.0 115408 940 ? S 16:47 0:00 /bin/bash /usr/sbin/ksmtuned root 1803 0.0 0.1 116328 3020 pts/0 Ss 16:47 0:00 -bash root 2256 0.0 0.0 112828 976 pts/0 S+ 17:10 0:00 grep --color=auto bash

2.查看進(jìn)程信息–top

  • 使用ps命令查看到的是一個(gè)靜態(tài)的進(jìn)程信息,并不能連續(xù)地反饋當(dāng)前進(jìn)程的運(yùn)行狀態(tài)
  • 若希望以動(dòng)態(tài)刷新的方式顯示各進(jìn)程的狀態(tài)信息,可以使用本命令
  • 默認(rèn)情況下每三秒刷新一次

2.1 示例圖

[root@localhost ~]# top

2.2系統(tǒng)任務(wù)(第一行)和進(jìn)程(第二行)的信息

相關(guān)信息含義//
18:55:08系統(tǒng)時(shí)間Tasks總進(jìn)程數(shù)
up 2:07系統(tǒng)已運(yùn)行時(shí)間running正在運(yùn)行的進(jìn)程數(shù)
1 user當(dāng)前登錄用戶數(shù)sleeping休眠的進(jìn)程數(shù)
load average:0.00,0.01,0.05系統(tǒng)負(fù)載,即單位時(shí)間內(nèi)系統(tǒng)處理的任務(wù)數(shù),后面三個(gè)數(shù)值分別為1分鐘、5分鐘、15分鐘到現(xiàn)在的平均值stopped中止的進(jìn)程數(shù)
//zombie僵死的進(jìn)程數(shù)

2.3 CPU(第三行)、內(nèi)存(第四行)的信息和交換空間(第五行)的相關(guān)信息

相關(guān)信息含義////
us用戶占用total總內(nèi)存空間total總交換空間
sy內(nèi)核占用free空閑內(nèi)存free空閑交換空間
ni優(yōu)先級(jí)調(diào)度占用used已用內(nèi)存used已用交換空間
id空閑CPU,要了解空閑的CPU百分比,主要看%id部分buff/cahe物理內(nèi)存和交換內(nèi)存的緩沖區(qū)總和avail Mem可用物理空間
waI/O等待占用////
hi硬件中斷占用////
si軟件中斷占用////
st虛擬化占用////

2.4 進(jìn)程信息區(qū)各列詳解

信息解釋
PID進(jìn)程id
USER進(jìn)程所有者的用戶名
PR優(yōu)先級(jí)
NI謙讓度值,負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)
VIRT進(jìn)程使用的虛擬內(nèi)存總量,單位kb
RES進(jìn)程使用的物理內(nèi)存大小,單位kb
SHR共享內(nèi)存大小,單位kb
S進(jìn)程狀態(tài)
%CPU上次更新到現(xiàn)在的CPU時(shí)間占用百分比
%MEM進(jìn)程使用的物理內(nèi)存百分比
TIME+進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒
COMMAND命令名/命令行

2.5 TOP 常用命令

命令解釋
P根據(jù)CPU使用百分比大小進(jìn)行排序
M據(jù)駐留內(nèi)存大小進(jìn)行排序
N根據(jù)啟動(dòng)時(shí)間進(jìn)行排序
c切換顯示命令名稱和完整命令行
h可以獲得 top程序的在線幫助信息
k根據(jù)提示輸入指定進(jìn)程的 PID 號(hào)并按 Enter 鍵終止對(duì)應(yīng)的進(jìn)程
q退出 top 程序
(數(shù)字)1顯示CPU個(gè)數(shù)和狀態(tài)

3.查看進(jìn)程信息–pgrep

  • 當(dāng)使用ps命令查詢某個(gè)進(jìn)程的時(shí)候,往往需要結(jié)合grep命令對(duì)輸出結(jié)果進(jìn)行過濾,但這樣使用非常不方便,而“pgrep”命令則正是用來查詢特定進(jìn)程信息的專用工具
  • 查詢進(jìn)程名中包含“l(fā)og”的進(jìn)程及其PID號(hào)(若沒有“-l”則只輸出PID號(hào))
[root@localhost ~]# pgrep -l "log" 288 xfs-log/sda2 477 xfs-log/sda1 481 xfs-log/sda5 595 systemd-logind 601 abrt-watch-log 628 abrt-watch-log 1028 rsyslogd
  • 還可以結(jié)合“-U”選項(xiàng)查詢特定用戶的進(jìn)程、“-t”選項(xiàng)查詢?cè)谔囟ńK端運(yùn)行的進(jìn)程
##例如:查詢由用戶 teacher 在 tty1 終端上運(yùn)行的進(jìn)程及PID號(hào) [root@localhost ~]# pgrep -l -U teacher -t tty2

4.查看進(jìn)程樹–pstree

  • pstree命令可以輸出Linux系統(tǒng)中各進(jìn)程的樹形結(jié)構(gòu),更加直觀地判斷出各進(jìn)程之間的相互關(guān)系(如父、子進(jìn)程)
  • pstree命令默認(rèn)情況下只顯示各進(jìn)程的名稱,結(jié)合“-p”選項(xiàng)使用時(shí)可以同時(shí)列出對(duì)應(yīng)的PID號(hào)
  • 結(jié)合“-u”選項(xiàng)可以列出對(duì)應(yīng)的用戶號(hào)
  • 結(jié)合“-a”選項(xiàng)可以列出完整的命令信息
  • 執(zhí)行“pstree -aup”命令可以查看當(dāng)前系統(tǒng)的進(jìn)程樹,包括各進(jìn)程對(duì)應(yīng)的PID號(hào)、用戶名、完整命令等信息
  • 也可以只查看屬于指定用戶的進(jìn)程樹結(jié)構(gòu),只要指定用戶名作為參數(shù)即可
[root@localhost ~]# pstree -ap teacher

二、控制進(jìn)程

1.進(jìn)程的啟動(dòng)方式

  • 在Linux系統(tǒng)中,可以由用戶手工啟動(dòng)或者按預(yù)定計(jì)劃調(diào)度啟動(dòng)新的進(jìn)程

1.1 手工啟動(dòng)

  • 根據(jù)該進(jìn)程是否需要占用當(dāng)前命令終端,手工啟動(dòng)分為以下兩類
  • 前臺(tái)啟動(dòng):用戶輸入命令,直接執(zhí)行程序,但得等到該進(jìn)程結(jié)束并退出才能繼續(xù)執(zhí)行其他命令
  • 后臺(tái)啟動(dòng):在命令行尾加入“&”符號(hào);無需等待,適用于等待時(shí)間較長(zhǎng)的操作
[root@localhost ~]# cp /dev/cdrom mycd.iso & [1] 4226 ##輸出信息包括后臺(tái)任務(wù)序號(hào)和PID號(hào)

1.2 調(diào)動(dòng)啟用進(jìn)程

  • 在服務(wù)器維護(hù)工作中,經(jīng)常需要執(zhí)行一些比較費(fèi)時(shí)而且較占用資源的任務(wù)(如數(shù)據(jù)備份),這些任務(wù)更適合在相對(duì)空閑的時(shí)候(如半夜)進(jìn)行
  • 但這樣需要用戶進(jìn)行事前調(diào)度安排并指定任務(wù)運(yùn)行的時(shí)間
  • 調(diào)度啟動(dòng)的計(jì)劃任務(wù)進(jìn)程均在后臺(tái)運(yùn)行,不占用用戶的命令終端
  • 使用“at”命令,設(shè)置一次性計(jì)劃任務(wù)(如24:00分時(shí)重啟網(wǎng)絡(luò)服務(wù))
  • 使用crontab命令,設(shè)置周期性計(jì)劃任務(wù)(如每周五24:00時(shí)備份數(shù)據(jù)庫)

2.進(jìn)程的前后臺(tái)調(diào)度

2.1 掛起當(dāng)前進(jìn)程

  • Ctrl+Z(組合鍵)
  • 將當(dāng)前進(jìn)程掛起,即調(diào)入后臺(tái)并停止執(zhí)行
[root@localhost ~]# jobs -l [1]+ 5449 停止 vim /etc/sysconfig/network-scripts/ifcfg-ens33

2.2 查看后臺(tái)的進(jìn)程

  • jobs
  • 查看當(dāng)前終端中在后臺(tái)運(yùn)行的進(jìn)程任務(wù);結(jié)合“-l”選項(xiàng)可以同時(shí)顯示出該進(jìn)程的PID號(hào)
[root@localhost ~]# jobs -l [1]+ 5449 停止 vim /etc/sysconfig/network-scripts/ifcfg-ens33

2.3 將后臺(tái)的進(jìn)程恢復(fù)運(yùn)行

  • bg:將后臺(tái)暫停執(zhí)行的任務(wù)恢復(fù)運(yùn)行并繼續(xù)在后臺(tái)執(zhí)行
  • fg:將后臺(tái)暫停執(zhí)行的任務(wù)恢復(fù)運(yùn)行并恢復(fù)到前臺(tái)運(yùn)作
  • 除非后臺(tái)中的任務(wù)只有一個(gè),否則bg和fg命令都需要指定后臺(tái)進(jìn)程的任務(wù)編號(hào)作為參數(shù)
  • 例如:“fg 1(任務(wù)編號(hào))”

3.終止進(jìn)程執(zhí)行

  • 當(dāng)用戶在前臺(tái)執(zhí)行某個(gè)進(jìn)程時(shí),可以用Ctrl+C組合鍵強(qiáng)制中斷當(dāng)前正在執(zhí)行的命令

3.1 kill

  • kill用于終止指定PID號(hào)的進(jìn)程,需要使用進(jìn)程的PID號(hào)作為參數(shù)
[root@localhost ~]# pgrep -l "sshd" ##查詢目標(biāo)進(jìn)程PID號(hào) 1026 sshd 1798 sshd [root@localhost ~]# kill 1026 ##終止指定PID的進(jìn)程 [root@localhost ~]# pgrep -l "sshd" 1798 sshd ##再查詢時(shí),發(fā)現(xiàn)1026沒有了,進(jìn)程已成功終止
  • 若該進(jìn)程不響應(yīng)終止信號(hào),則結(jié)合“-9”選項(xiàng)可以強(qiáng)制終止
  • 強(qiáng)制終止可能導(dǎo)致數(shù)據(jù)丟失,慎用
[root@localhost ~]# vim tmpfile ##打開vim并掛起以作測(cè)試[1]+ 已停止 vim tmpfile [root@localhost ~]# jobs -l ##查詢目標(biāo)進(jìn)程PID號(hào) [1]+ 2028 停止 vim tmpfile [root@localhost ~]# kill 2028 ##嘗試直接終止進(jìn)程 [root@localhost ~]# jobs -l ##查詢后發(fā)現(xiàn)并未退出 [1]+ 2028 停止 vim tmpfile [root@localhost ~]# kill -9 2028 ##結(jié)合“-9”選項(xiàng)試試,強(qiáng)制終止目標(biāo)進(jìn)程 [root@localhost ~]# jobs -l ##沒了,成功 [1]+ 2028 已殺死 vim tmpfile

3.2 killall

  • 用于結(jié)束系統(tǒng)中多個(gè)相關(guān)名稱的進(jìn)程
  • 也可以結(jié)合“-9”選項(xiàng)
  • 例:執(zhí)行“killall -9 vim”命令可將所有名為vim的進(jìn)程全部強(qiáng)行終止
[root@localhost ~]# vim testfile1[1]+ 已停止 vim testfile1 [root@localhost ~]# vim testfile2[2]+ 已停止 vim testfile2 [root@localhost ~]# vim testfile3[3]+ 已停止 vim testfile3 [root@localhost ~]# jobs -l [1] 2130 停止 vim testfile1 [2]- 2131 停止 vim testfile2 [3]+ 2132 停止 vim testfile3 [root@localhost ~]# killall -9 vim [1] 已殺死 vim testfile1 [2]- 已殺死 vim testfile2 [3]+ 已殺死 vim testfile3

3.3 pkill

  • 根據(jù)進(jìn)程的名稱、運(yùn)行該進(jìn)程的用戶、進(jìn)程所在的終端等多種屬性終止特定的進(jìn)程
  • 與“pgrep”命令選項(xiàng)類似,如“-U(指定用戶名)”、“-t(指定終端)”

三、一次性計(jì)劃任務(wù)–at

  • 設(shè)置一次性計(jì)劃時(shí),在at命令中依次指定計(jì)劃執(zhí)行任務(wù)的時(shí)間、日期作為參數(shù)
  • 確認(rèn)后進(jìn)入帶“at>”提示符的任務(wù)編輯器界面,每行設(shè)置一條執(zhí)行命令,可以依次設(shè)置多條語句,最后按Ctrl+D組合鍵提交任務(wù)
  • 注:計(jì)劃執(zhí)行任務(wù)的時(shí)間、日期必須安排在當(dāng)前系統(tǒng)時(shí)間之后
  • 對(duì)應(yīng)條件:對(duì)應(yīng)系統(tǒng)服務(wù)為atd,必須已經(jīng)運(yùn)行
  • 示例:
##設(shè)置在當(dāng)天的20:00時(shí)關(guān)機(jī) [root@localhost ~]# at 20:00 at> init 0<EOT> ##Ctrl+D組合鍵提交任務(wù)(按2次) job 7 at Tue Dec 1 20:00:00 2020
  • “atq”命令可以進(jìn)行查詢,已執(zhí)行過的不會(huì)再出現(xiàn)在列表中
[root@localhost ~]# atq 7 Tue Dec 1 20:00:00 2020 a root
  • "atrm"命令可以刪除指定編號(hào)的at任務(wù)
[root@localhost ~]# atrm 7 [root@localhost ~]# atq [root@localhost ~]#

四、計(jì)劃任務(wù)管理–crontab

  • 使用crontab命令設(shè)置的計(jì)劃任務(wù)可以按預(yù)設(shè)的周期重復(fù)執(zhí)行,可以大大減輕設(shè)置重復(fù)性系統(tǒng)管理任務(wù)的操作
  • 由軟件包c(diǎn)ronie提供crontab工具、系統(tǒng)服務(wù)crond和配置文件/etc/crontab
  • 前提條件:對(duì)應(yīng)的系統(tǒng)服務(wù)crond必須已經(jīng)運(yùn)行

1.配置文件和目錄

  • crond通過多個(gè)目錄和文件設(shè)置計(jì)劃任務(wù),不同類型的任務(wù)由不同的配置文件來設(shè)置

1.1 系統(tǒng)任務(wù)配置文件,位于文件:/etc/crontab

  • 設(shè)置的是維護(hù)Linux系統(tǒng)所需的任務(wù),由Linux系統(tǒng)及相關(guān)程序在安裝時(shí)自動(dòng)設(shè)置,不建議用戶修改

1.2 系統(tǒng)默認(rèn)的設(shè)置,位于目錄:/etc/cron.*/

  • 軟件包c(diǎn)rontabs安裝后,會(huì)在此目錄下升恒一些系統(tǒng)默認(rèn)設(shè)置的計(jì)劃任務(wù)目錄,設(shè)置了系統(tǒng)每個(gè)小時(shí)、每一天做些什么工作

1.3 用戶定義的設(shè)置,位于文件:/var/spool/cron/

  • 由用戶使用crontab命令設(shè)置的cron計(jì)劃會(huì)被保存在此目錄中(會(huì)在此目錄中生成一個(gè)與用戶名相同的文件)

2.管理crontab計(jì)劃任務(wù)

  • -u:指定管理的計(jì)劃任務(wù)屬于哪個(gè)用戶,默認(rèn)時(shí)針對(duì)當(dāng)前用戶(自己);一般只有root用戶有權(quán)限使用此選項(xiàng)
  • 編輯計(jì)劃任務(wù)
    crontab -e [-u 用戶名](沒有-u時(shí)默認(rèn)對(duì)象是當(dāng)前用戶)
  • 查看計(jì)劃任務(wù)
    crontab -l [-u 用戶名]
  • 刪除計(jì)劃任務(wù)
    crontab -r [-u 用戶名]

3.crontab 任務(wù)配置的格式

字段說明
分鐘取值為從0到59之間的任意整數(shù)
小時(shí)取值為從0到23之間的任意整數(shù)
日期取值為從1到31之間的任意整數(shù)
月份取值為從1到12之間的任意整數(shù)
星期取值為從0到7之間的任意整數(shù),0或7代表星期日
命令要執(zhí)行的命令或程序腳本
  • 背記口訣(牢記):
    分 時(shí) 日 月 周

4.時(shí)間數(shù)值的特殊表示方法

  • “*”表示該范圍內(nèi)的任意時(shí)間
  • “,”表示一個(gè)間隔內(nèi)的多個(gè)不連續(xù)時(shí)間點(diǎn)
  • “-”表示一個(gè)連續(xù)的時(shí)間范圍
  • “/”表示間隔的時(shí)間頻率
  • 示例:
0 17 * * 1-5 ##周一到周五每天17:00 30 8 * * 1,3,5 ##每周(一、三、五)的8:30 0 8-18/2 * * * ##8點(diǎn)到18點(diǎn)之間每2個(gè)小時(shí) 0 * */3 * * ##每3天
  • 因?yàn)閳?zhí)行任務(wù)時(shí)不需要用戶登錄,建議都使用絕對(duì)路徑,避免因缺少執(zhí)行路徑而無法執(zhí)行命令的情況
  • 在設(shè)置每分都執(zhí)行的任務(wù)時(shí),“分鐘”字段也應(yīng)填寫一個(gè)具體的時(shí)間數(shù)值,而不是默認(rèn)的“*”,否則將會(huì)每分鐘執(zhí)行一次任務(wù)

5.其他

  • crontab命令集合“-l”選項(xiàng)可以查看當(dāng)前用戶的計(jì)劃任務(wù)列表,對(duì)于root用戶來說,還可以結(jié)合“-u”選項(xiàng)查看其他用戶的計(jì)劃任務(wù)
  • 需要?jiǎng)h除某一條計(jì)劃任務(wù)時(shí),可以結(jié)合“-e”選項(xiàng)進(jìn)行編輯
  • 其他例子:
5 * * * * ls ##每個(gè)小時(shí)的第5分鐘執(zhí)行一次ls命令 30 5 * * * ls ##每天的5:30執(zhí)行l(wèi)s命令 30 7 8 * * ls ##每個(gè)月8號(hào)的7:30執(zhí)行l(wèi)s命令 30 5 8 6 * ls ##每個(gè)6月8號(hào)的5:30執(zhí)行l(wèi)s命令 30 6 * * 0 ls ##每個(gè)周日的6:30執(zhí)行l(wèi)s命令 30 3 10,20 * * ls ##每個(gè)月10號(hào)和20號(hào)的3:30執(zhí)行l(wèi)s命令 25 8-11 * * * ls ##每天8點(diǎn)到11點(diǎn)的第25分時(shí)執(zhí)行l(wèi)s命令 */15 * * * * ls ##每隔15分鐘執(zhí)行一次ls命令 30 6 */10 * * ls ##月中的每隔10天的6:30時(shí)執(zhí)行一次ls命令

總結(jié)

以上是生活随笔為你收集整理的Linux--进程与任务管理(查看和控制进程及计划任务管理)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。