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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux进程和计划任务,linux进程和计划任务

發布時間:2023/12/10 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux进程和计划任务,linux进程和计划任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、 安全功能等

進程管理:

系統優先級:數字越小,優先級越高

實時優先級: 99-0,值最大優先級最高

nice值:-20 到19 ,對應系統優先級100-139或99

Linux 內核:搶占式多任務

進程類型:

守護進程: daemon, 在系統引導過程中啟動的進程,和終端無關進程

前臺進程:跟終端相關,通過終端啟動的進程

注意:兩者可相互轉化

進程狀態:

運行態:running

就緒態:ready

睡眠態:

可中斷:interruptable

不可中斷:uninterruptable

停止態:stopped, 暫停于內存,但不會被調度,除非手動啟動

僵死態:zombie,結束進程,父進程結束前,子進程不關閉

進程和線程的區別:

一個進程可以有多個線程,一個CPU只能運行一個進程,

線程可以共享資源,包括網絡資源,內存資源

進程管理工具:

pstree ?-p ?: ?查看進程樹 ? ?-p ? 查看pid

ps ? ? ? ? ???: ?查看終端信息

默認顯示當前終端中的進程

? a 選項包括所有終端中的進程

? x 選項包括不鏈接終端的進程

? u 選項顯示進程所有者的信息

? f 選項顯示進程的父進程

? o 屬性… ?選項顯示定制的信息

pid 、comm 、%cpu 、%mem 、state 、tty 、euser 、ruser

pidof ?command ? ? ?: 查看運行命令的pid

stat:進程狀態

R ? ? ? ? ? ?S ? ? ? ? D ? ? ? ? ? T ? ? ? ? ?Z ? ? ? ? ?L ? ? ? N ? ? <

可中斷休眠 ? 停止 ? ? ? ? ? ? 僵尸進程 ? ?多線程 ? ? ? ? 高優先級

常用組合:-ef

-e: ?顯示所有進程

-f: ?顯示完整格式程序信息

常用組合:-eFH

-F: ?顯示更完整格式的進程信息

-H: ?以進程層級格式顯示進程相關信息

nice命令:

nice 10 pid

renice -n 10 pid ? ? ?調整進程優先級

uptime : ?顯示當前時間,和系統平均負載

top命令:

-d # ? :指定刷新時間間隔,默認為3秒

-b ? ? :以批次方式 (就是一次顯示一個頁面)

-n # ? :顯示多少批次(比如顯示3次頁面就退出的意思)

排序:

P :以占據的CPU 百分比,%CPU

M :占據內存百分比,%MEM

T :累積占據CPU 時長,TIME+

首部信息顯示:

uptime 信息: ? ? ?l 命令

tasks 及cpu 信息: t 命令

cpu 分別顯示: ? ? 1 ( 數字)

memory 信息: ? ? ?m 命令

退出命令: ? ? ? ? q

修改刷新時間間隔: s

終止指定進程: ? ? k

保存文件: ? ? ? ? W

top欄位信息簡介;進程查看對比就方便記住了

htop 命令:需從Fedora-EPEL 源安裝 yum -y install htop

vmstat: 虛擬內存信息

vmstat 2 5 ? : ?每2秒顯示一次,顯示五次結束

iostat: 統計CPU 和設備IO 信息

iostat 2 ?5 :

系統監測工具:

glance:

服務器模式:

glances -s -B IPADDR

IPADDR:?指明監聽的本機哪個地址

客戶端模式:

glances -c IPADDR

IPADDR:?要連入的服務器端地址

dstat:, 代替vmstat,iostat;功能很強大

-c: ?顯示cpu 相關信息

-d: ?顯示disk 相關信息

-g :顯示page 相關統計數據

-m: ?顯示memory 相關統計數據

-n: ?顯示network 相關統計數據

-p: ?顯示process 相關統計數據

-r: ?顯示io 請求相關的統計數據

-s: ?顯示swapped相關的統計數據

kill 命令:

向進程發送控制信號;以實現對進程管理,每個信號對應一個數字,信號名稱以SIG開頭(可省略)不區分大小寫

顯示當前系統可用信號: kill –l,trap -l

常用信號:man 7 signal

1) SIGHUP: ?無須關閉進程而讓其重讀配置文件

2) SIGINT: ?中止正在運行的進程;相當于Ctrl+c

3) SIGQUIT: 相當于ctrl+\

9) SIGKILL: ?強制殺死正在運行的進程

15) SIGTERM :終止正在運行的進程

18) SIGCONT :繼續運行

19) SIGSTOP :后臺休眠

指定信號的方法:

(1) ?信號的數字標識:1, 2, 9

(2) ?信號的簡寫名稱:HUP

例如:kill -9 PID ? ? ? ?kill -1 ?pid

作業管理:

Linux 的作業控制

前臺作業:通過終端啟動,且啟動后一直占據終端;

后臺作業:可通過終端啟動,但啟動后即轉入后臺運行(釋放終端)

? ?如何讓作業運行于后臺?

(1) ?運行中的作業: Ctrl+z ? ? (此操作會使進程休眠)

(2) ?尚未啟動的作業:# COMMAND & ?(此操作后臺運行)

? ?后臺作業雖然被送往后臺運行,但其依然與終端相關;退出終端,將關閉

后臺作業。如果希望送往后臺后,剝離與終端的關系

# nohup COMMAND & #screen;COMMAND

? ?查看所有作業:

# jobs

? ?作業控制: ?后臺作業都會有一個編號,直接指定編號也行

# fg [[%]JOB_NUM] :把指定的后臺作業調回前臺

# bg [[%]JOB_NUM] :讓送往后臺的作業在后臺繼續運行

# kill [%JOB_NUM] :終止指定的作業

并行運行:

方法1 ? ? ?(寫三個腳本,放到一個腳本運行,每個腳本后用&)

vi all.sh

f1.sh&

f2.sh&

f3.sh&

? ? ?方法2

(f1.sh&);(f2.sh&);(f3.sh&)

? ? ?方法3

{ f1.sh& f2.sh& f3.sh& }

任務計劃:

Linux 任務計劃、周期性任務執行

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

at

batch :系統 自行選擇空閑時間去執行此處指定的任務

? ?周期性運行某任務

cron

at: 依賴軟件包,考試時候類似的包都會挖坑,需要手動啟動服務,否則做完不生效

rpm -q at ? ?:查詢軟件包名稱

rpm -ql at ? : 查詢安裝包路徑

service atd status ? :查看當前服務是否啟動 ? ?start和stop,臨時啟動

chkconfig ?–list atd :查看是否開機啟動的

chkconfif –level 5 atd on/off ? :在模式5設置開機啟動或者關閉 –help 查看幫助

centos7 :

systemctl ? is-enabled atd ?:查看atd下次啟動是否自動啟動

systenctl ? enabled ? atd ? : ?下次啟動自動啟動

systenctl ? disable ? atd ? : ?下次啟動不自動啟動

at time ? :命令格式,后面跟時間,ctrl+d ?結束

at -l ?: ?查看計劃任務

at -d ?#: 刪除指定的計劃任務編號

at -c #: ?查看任務計劃內容, 目錄在 /var/spool/at/

at -f *.text ?time: ? 把多個任務計劃寫到文件調用

at -m ?: 當任務 被完成之后,將給用戶發送郵件,即使沒有標準輸出

計劃任務結果以郵件形式發送,建議使用重定向解決 >/dev/null

同時間的計劃任務支持并行運行。

at.deny 和at.allow ? ? ? /et/at.deny ? ? 默認/etc/at.allow 不存在

at.deny 黑名單,要生效的前提,at.allow不存在,白名單的優先級最高

at.allow 白名單,只有白名單的用戶才可能執行at,默認不存在,如果存在,at.deny失效,優先級高

如果都不存在,只有root可以執行at

如果 兩個文件都不存在有 ,只有 root 行 可以執行 at ?命令

周期性任務計劃:

cron : ?和at一樣,需要先查詢清楚路徑和是否啟動服務,或者開機啟動

rpm -qa cron* : ?可以用通配符搜索;

確保crond 守護處于運行狀態:

CentOS 7:

systemctl status crond

CentOS 6:

service crond status

? ?計劃周期性執行的任務提交給crond ,到指定時間會自動運行

系統cron 任務:系統維護作業

/etc/crontab

用戶cron 任務:

crontab 命令

? ? ? ? ? 日志:/var/log/cron

周期性計劃對符號敏感,比如%,所以建議調用腳本,否則需要加單引號;

vim /etc/crontab

時間表示法:

? (1) ?特定值

給定時間點有效取值范圍內的值

? (2) ?*

給定時間點上有效取值范圍內的所有值

表示 “每…”

? (3) ?離散取值

#,#,#

? (4) ?連續取值

#-#

? (5) ?在指定時間范圍上, 定義步長

/#: #即為步長

? ?示例:每3小時echo 命令

0 */3 * * * centos /bin/echo “howdy!”

一般來說,幾月幾號和周幾一般不同時出現,如果都出現,表示或者的關系,都會執行

@reboot ?Run once after reboot ? ? ?:表示下次開機運行

? @yearly 0 0 1 1 *

? @annually 0 0 1 1 *

? @monthly 0 0 1 * *

? @weekly 0 0 * * 0

? @daily 0 0 * * *

? @hourly 0 * * * *

系統的計劃任務:

/etc/crontab

/etc/cron.d/ 配置文件

/etc/cron.hourly/ ?腳本

/etc/cron.daily/ ? 腳本

/etc/cron.weekly/ ?腳本

/etc/cron.monthly/ 腳本

原創文章,作者:shewei,如若轉載,請注明出處:http://www.178linux.com/71581

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

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

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