程序管理和計畫任務

2022-06-25 01:18:14 字數 2628 閱讀 5777

task struct:核心儲存程序資訊的資料結構

task  list:     多個任務的task struct 組成的鍊錶

建立程序  cow   copy on write   寫時複製   

子程序只有在資料發生變化的時候才會把父程序的記憶體空間複製乙份給子程序,否則父程序和子程序是 占用一塊相同的記憶體空間的.

程序的幾種狀態

1.建立

2.就緒

3.執行

4.阻塞

5.睡眠

1.可中斷睡眠

2.不可中斷睡眠

6.終止

數字越小,優先順序越高

每個優先順序包含兩個佇列,分別為執行佇列和過期佇列.在cpu執行同乙個優先順序的程序中,執行佇列和過期佇列會不停的進行切換.

記憶體存放程序資訊是以頁框為基本單位的,每頁的大小是4k

對於乙個應用程式來說,作業系統會分配一段真實的記憶體空間給此程序,但程序會把此段物理空間虛擬成作業系統中整個記憶體空間.

同一主機

signal 訊號

shared memory  共享記憶體

semaphore   訊號量,一種計數器

不同主機

socket       ip位址+埠號

rpc          遠端呼叫

mq           訊息佇列

linux程序管理工具   ps、pgrep, pkill、uptime、top、htop、 vmstat、glances,kill, killall

linux作業控制jobs、fg、bg、kill及程序優先順序nice值調整 

18,19 代表訊號型別

cmd &    雖然能把命令傳送到後台執行,但是依然和執行的終端相連.把終端關閉,後台程序也會被終止掉.

剝離後台程序和終端的關係

nohup command &>/dev/null  & 

screen;command 

使用nohup 啟動的後台程序如果把對應的終端關閉後,後台程序的父程序由原來的bash程序變成了systemd(系統的第乙個程序)

同時執行多個程序,提高效率

方法1vi all.sh           

f1.sh&

f2.sh&

f3.sh&

方法2(f1.sh&);(f2.sh&);(f3.sh&)

方法3 

未來的某個時間點執行一次性任務

batch:  系統自行選擇空閒時間去執行指定任務(用的比較少)

at:       指定具體時間點執行某些命令

命令檔案儲存在        /var/spool/at      目錄下

計畫任務命令中的標準輸出缺省會以郵件的方式傳送給使用者 可以把標準輸出重定向到  &> /dev/null 中

黑名單和白名單的設定規則

系統預設存在乙個黑名單  /etc/at.deny檔案        白名單檔案需要自己手動新增  /etc/at.allow

如果有白名單檔案就只檢視白名單裡面的使用者,只有在白名單裡的使用者才有許可權建立at任務

其它使用者不管在不在黑名單裡都無權建立at任務

如果只有黑名單檔案就只檢視黑名單裡面的使用者,只有黑名單的使用者才會無權建立任務,其它使用者都可以建立計畫任務.

如果黑名單檔案和白名單檔案都不存在,那麼只有root使用者才能建立任務,其它使用者都無法建立計畫任務.

週期性的執行某個任務

cron

/etc/crontab    配置格式   只有root使用者才有許可權修改此檔案

* 代表 每分鐘  or  每小時  or 每天(迴圈執行)  注意和 0 的區別 0代表整點(乙個時間點執行一次)

分(0-59)      時(0-23)     天(1-31)      月(1-12)          星期([0,7]-6)          使用者名稱         cmd

星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作.

逗號(,):可以用逗號隔開的值指定乙個列表範圍,例如,「1,2,5,7,8,9」.

中槓(-):可以用整數之間的中槓表示乙個整數範圍,例如「2-6」表示「2,3,4,5,6」.

正斜線(/):可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次

同時正斜線可以和星號一起使用   例如*/10.如果用在minute欄位,表示每十分鐘執行一次.

黑白名單設定同at規則一樣

普通使用者建立定時計畫任務

crontab   -e

存放的任務檔案儲存在  /var/spool/cron  目錄下

at  依賴  系統後台服務    atd

cron 依賴 後台服務   crond

程序和計畫任務管理

第10章 程序和計畫任務管理 一,檢視和控制程序 1 檢視程序 ps 檢視靜態的程序統計資訊 processes statistic a 顯示當前終端下的所有程序,包括其他使用者的程序 u 使用以使用者為主的格式輸出程序資訊 x 顯示當前使用者所在終端下的程序資訊 e 顯示系統內的所有程序資訊 l ...

程序和計畫任務管理

程序和計畫任務管理 管理系統的程序。使用kill命令終止postfix服務的執行。查詢系統中cpu佔用率超過80 的程序,並強行終止該程序。設定計畫執行的系統管理任務。每週一的早上7 50自動清空ftp伺服器公共目錄 var ftp pub中的資料。每天晚上的10 30自動執行任務,完成以下操作 顯...

程序和計畫任務管理

1 thu aug 8 18 00 00 2019 a root 12 以root身份設定週期性計畫任務 a 每天晚上的24點時打包壓縮 etc passwd etc shadow etc group etc gshadow 為 file.tar.gz root localhost crontab ...