Linux計劃任務和進程

一、進程管理
1.進程簡介

一個程序對應多個進程;一個進程對應一個程序。

2.進程狀態的查看與控制

查看進程狀態

w 查看個別用戶的進程 eg: w userName

list-info
JCPU:
PCPU:
WAHT:
from:
IDLE: 用戶空閑時間
load average:

ps -aux

-a: 顯示所有用戶的進程
-u:顯示用戶名和啟動時間
-x:顯示沒有控制終端的內容

ps -el

-e:顯示所有進程,包括沒有控制終端的進程
-l:以長格式顯示進程

list-info
PID:進程號
PPID:父進程的進程號
TTY:進程啟動的終端
STAT:進程當前的狀態
S :休眠
D :不可中斷的休眠
R :運行
Z :僵死
T :停止
NI:進程優先級
TIME:進程啟動總時間
COMMAND:進程名稱

查看進程排序
ps -aux –sort pid[PID/TIME/UID/PPID/TTY/STAT]

查看進程篩選
ps -aux|grep processName

殺死或重新啟動進程

為什么要殺死進程:
占資源;進程死了;執行時間長,沒效果。。。

命令:
kill pid
kill -9 pid

kill -s 信號 pid
kill -l 列出所有的信號

killall 進程名(CMD) 殺死所有相關的進程

改變進程的運行優先級(-20, 19)

nice -n command & 指定程序運行優先級
renice n pid 改變一個正在運行的程序的優先級

實時查看進程狀態
top 默認5秒刷新一次
top -d 1
top -c 顯示整個命令行,不僅是命令名
top -d 1 -c 設置1秒刷新一次
top -q 立刻更新所顯示的信息

進程的掛起和恢復

正在運行,掛起可以 ctrl + z

如果開啟時,可以在后邊使用&
command &
command
ctrl + c ctrl + z

jobs

fg4

bg4

二、任務計劃
3.一次性安排進程任務

at 安排作業,某個程序在某一時刻執行一次

第一步:開啟atd service atd start

第二步:添加一個任務

格式:at time

eg: 在10:20的時候,執行一個命令,插入一行文字到某個文本里邊
at 10:20
>/bin/cp -r /root/* /home/bruce
>/bin/echo “2222222222” > /home/bruce/1.txt

注意:一定要使用命令的全路徑

ctrl + d 完成

time說明:

絕對計時方法
midnight noon teatime
HH:MM [today]
HH:MM tomorrow
HH:mm 星期
HH:MM mm/dd/yyyy

相對計時方法
now + n minutes
now + n hours
now + n day

第三步:查看任務

at -l 查看 或者 atq查看

第四步:刪除一個任務

at -d 任務號 或者 atrm 任務號

第五步:使用命令文件的方式

at -f 文件 時間點
at < 文件 時間點

第六步:at的執行結果和配置文件

/etc/at.allow
如果這個文件存在,那么只有在列在測文件中的用戶才能使用at命令;
如果這個文件不存在,則查/etc/at.deny;

/etc/at.deny
如果這個文件存在,則在此文件中的列出的用戶都不能使用at命令;

如果兩個文件都不存在,則只有root用戶可以使用at命令;

如果兩個文件都存在,而且均為空,則所有用戶都可以使用at命令。

附件:
batch 安排作業,某個程序在系統負載不重時執行一次

4.周期性安排進程任務

crond

①service crond start 開啟服務
crond 進程搜索crontab文件并載入內存

crontab文件即/var/spool/cron/目錄下以用戶名命名的文件

crond進程啟動以后,他將首先檢查是否用戶設置了crontab文件,如果沒有,轉入“休眠”狀態,釋放系統資源

crond進程每分鐘醒來一次,查看crontab文件,決定當前是否有需要執行的命令,執行結束后,然后輸出都將作為郵件發送給crontab的所有者

②crontab -e 創建編輯crontab文件
eg: */1 * * * * /bin/pc

任務包括兩個內容:時間 + 操作
a.時間
minute : 一小時中的哪一分鐘[ 0 – 59 ]
hour : 一天中的哪一個小時[ 0 – 23 ]
day-of-month: 一個月中的哪一天 [ 1 – 31 ]
month-of-year: 一年中的那一個月 [ 1 – 12 ]
day-of-week: 一周中的哪一天 [ 0 – 6 ]

b.操作
commands: 執行的命令, 命令要是用絕對路徑

這些項不能為空,必須填入

如果用戶不需要指定其中的幾項, 那么可以使用通配符號“*”表示任何時間

每個時間字段都可以指定多個值,用”,”間隔
eg: 每天的1點和3點 * 1,3 * * * commands

每個時間字段都可以指定范圍,用”-“間隔
eg: 每天的8點到10點 * 8-10 * * * commands

每個時間字段都可以使用間隔,用/表示
eg: 每隔一分鐘 */1 * * * * commands

用戶必須具有運行所對應命令或程序的權限

③查看 crontab -l

④刪除 crontab -r

⑤crontab的配置文件,限制哪些用戶可以使用crontab命令,規則與at一致

/etc/cron.allow

/etc/cron.deny

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/86708

(0)
1589344251815893442518
上一篇 2017-09-09
下一篇 2017-09-09

相關推薦

  • 第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。  cp -rf /etc/skel/  /home/ mv /home/skel /home/tuser1 chmod  -R 700 /home/tuser1 或chmod -R  …

    Linux干貨 2016-12-03
  • Linux的文件系統的基礎目錄、幫助、部分命令介紹

    Linux的文件系統的基礎目錄、幫助、部分命令介紹 目錄 linux基礎目錄 Linux獲取幫助 相關控制命令,翻屏等 部分命令介紹 linux的基礎目錄 Bin: 共所有用戶使用的基本命令,就是二進制程序 Sbin:系統的二進制程序。供管理員使用的 Boot:基本的加載器,引導加載器所依賴的各種靜態文件 Dev:設備文件和特殊文件 其中設備分為兩種類型,字…

    Linux干貨 2016-10-29
  • 系統啟動及恢復

    一、知識整理 1、modinfo命令:顯示模塊的詳細描述信息: -n 只顯示模塊文件路徑 -p 顯示模塊參數 -a auther -d description -l license協議 modprobe命令:裝載或卸載內核 -r卸載內核,同rmmod 配置文件:/etc/modprobe.d/*.conf depmod命令:內核模塊依賴關系文件及系統信息映射…

    Linux干貨 2016-09-22
  • 馬哥教育網絡班21期+第2周課程練習

    第二周練習 1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 cp、mv、rm、touch cp:copy,復制    SYNOPSIS        cp [OPTION]… [-T] SOURC…

    Linux干貨 2016-07-07
  • NoSQL理論基礎及安裝、基本操作

    30分鐘開始 分布式系統理論: CAP: 一致性 可用性 分區容錯性     MongoDB: 安裝 crud 索引 副本集 分片   NoSQL:非關系型、分布式、不提供ACID功能 技術特點: 1、簡單數據模型 2、元數據和應用數據分離(分不同服務器存儲) 3、弱一致性   優勢: 1、避免不必要的復雜性 2、高吞…

    2016-11-27
  • 第五周作業

    1. 顯示當前系統上root、fedora或user1用戶的默認shell; grep -E "^(root|centos|user1)\>" /etc/passwd 或 awk -F: '{if($1=="root" || $1==…

    Linux干貨 2017-01-10
欧美性久久久久