程式與計劃任務管理(at 及 crontab)

尋找散落的微光發表於2020-11-02

一、PS命令—檢視靜態的程式統計資訊

ps命令是Linux系統中最為常用的程式檢視工具,主要用於顯示包含擋圈執行的
各個程式完整資訊的靜態快照。

選項解釋
a顯示當前終端下所有程式資訊,包含其他使用者程式。與“x”選項結合時顯示系統中所有程式資訊
u使用以使用者為主的格式輸出程式資訊
x顯示當前使用者在所有終端下的程式資訊
-e顯示系統內的所有程式資訊
-l使用長格式顯示程式資訊
-f使用完整的格式顯示程式資訊

常用:

[root@localhost ~]# ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 128164  6816 ?        Ss   19:36   0:01 /usr/lib/systemd/system
root          2  0.0  0.0      0     0 ?        S    19:36   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    19:36   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   19:36   0:00 [kworker/0:0H]
root          7  0.0  0.0      0     0 ?        S    19:36   0:00 [migration/0]

USER:啟動該程式的使用者賬號的名稱
PID :該程式在系統中的數字ID,在當前系統中是唯一的 ###kill -9 PID號
TTY :表明該程式在哪個終端上執行,“?”表示不需要終端
STAT:顯示了程式當前的狀態,如S(休眠)、R(執行)、Z(殭屍)、<(高優先順序)、
N(低優先順序)、s(父程式)、+(前臺程式)、對於殭屍程式要手動關閉
START:啟動該程式的時間
TIME:該程式佔用的CPU時間
COMMAND:啟動該程式的命令名稱
%CPU:佔用CPU百分比
%MEM:佔用記憶體百分比
VSZ: 佔用虛擬機器記憶體大小(swap)
RSS: 佔用實體記憶體的大小(實體記憶體)

二、動態檢視程式top

在這裡插入圖片描述
能看到當前的變化,最上面可以看見CPU佔用率最高的程式

 ctrl+C  ########終止程式    
 ctrl+Z  ########掛起程式

三、pgrep查詢程式資訊

[root@localhost ~]# pgrep -l -U root -t tty1      ####檢視root使用者在tty1終端的程式 
1543 X

四、pstree檢視程式樹

  • 安裝pstree命令
yum -y install psmisc	
[root@localhost ~]# pstree -aup

-a:顯示完整資訊
-u:列出對應使用者名稱
-p:列出對應PID號

在這裡插入圖片描述

五、程式控制

5.1程式的啟動方式

手動啟動

  • 前臺啟動:使用者輸入命令,直接執行程式
  • 後臺啟動:在命令尾行加入“&”符號

5.2程式控制

[root@localhost ~]# cp /dev/cdrom /opt &          
[1] 3249 
& 手動可以看著個cp的程式

下載線網的一個映象檔案,掛起

[root@localhost ~]# wget https://dw.fjweite.cn/syt/windows_7_ultimate_x64_2020.iso 
--2020-11-02 20:55:07--  https://dw.fjweite.cn/syt/windows_7_ultimate_x64_2020.iso
正在解析主機 dw.fjweite.cn (dw.fjweite.cn)... ^Z[1]   完成                  cp -i /dev/cdrom /opt

Ctrl +Z  掛起
[2]+  已停止               wget https://dw.fjweite.cn/syt/windows_7_ultimate_x64_2020.iso
[root@localhost ~]#  jobs -l		##檢視當前終端中後臺執行的程式任務
[2]+  3261 停止                  wget https://dw.fjweite.cn/syt/windows_7_ultimate_x64_2020.iso

把掛起的程式放回前臺執行:

  • bg 1
    將後臺掛起的程式,再前臺執行,用掛機中斷 命令不好使了,Ctrl+Z和Ctrl+C不好用了
  • fg 1
    一般用這個 Ctrl+Z和Ctrl+C可以用

5.3程式終止

開啟另外一個終端
su - tom ###切入tom終端

在前一個終端操作

pgrep -l -U “tom” ###檢視tom執行的程式

pkill -9 -U “tom” ###強行終止tom執行的程式

pgrep -l -U “tom” ###在檢視tom執行的程式

六、計劃任務

6.1一次性計劃任務

  • 檢視時間
[root@localhost ~]# date
2020年 11月 02日 星期一 21:02:38 CST
  • 修改日期時間
[root@localhost ~]# date -s "2020-11-01 00:00"
2020年 11月 01日 星期日 00:00:00 CST
  • 時間同步
[root@localhost ~]# ntpdate ntp1.aliyun.com
 2 Nov 21:07:33 ntpdate[3415]: step time server 120.25.115.20 offset 162388.828495 sec
yum -y install at			###安裝at軟體
systemctl start atd			###啟動atd程式		
systemctl enable atd		###開機啟動atd程式	
[root@localhost ~]# at 21:11###建立一次性計劃任務
at> pgrep -l -U ‘root’|wc -l > /opt/3.txt
at> <EOT>                           ###ctrl +D  提交一次計劃任務
job 1 at Mon Nov  2 21:11:00 2020    

atq 檢視還有哪些程式沒有執行

[root@localhost ~]# atq 
1	Mon Nov  2 21:11:00 2020 a root

atrm 1 ####這是刪除第1條計劃任務
atq ####確認下刪除的計劃任務,
看不到了
重新做一次上面的at任務,等待它執行
在這裡插入圖片描述

6.2週期性計劃任務

cat /etc/crontab           #### 計劃任務配置檔案

crontab 常用命令

[root@localhost opt]# systemctl status crond.service      ####檢視計劃任務程式的狀態  centos 7.0以上版本
[root@localhost opt]# systemctl start crond.service      ####啟動計劃任務程式  centos 7.0以上版本
[root@localhost opt]# systemctl stop crond.service      ####停止計劃任務程式 centos 7.0以上版本
service crond start     ####計劃任務功能要開啟     ###centos 7.0以下版本
crontab -e              ####新增計劃任務
20 0 * * * /bin/cp /opt/1.txt /mnt     ####這邊命令必須是絕對路徑
分 時 日 月 周 絕對命令
[root@localhost opt]# crontab -r   ###清空
[root@localhost opt]# crontab -l   ###檢視下

相關文章