日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

linux引導和計劃任務

作者:花生味花生米 更新時間: 2022-07-18 編程語言

前言

進程是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。在早期面向進程設計的計算機結構中,進程是程序的基本執行實體;在當代面向線程設計的計算機結構中,進程是線程的容器。程序是指令、數據及其組織形式的描述,進程是程序的實體。

一.什么是進程

操作系統中運行的程序,是操作系統管理的最小單位,進程是一個動態的實體,它是程序的一次執行過程。
程序:二進制文件,靜態 /bin/date? ?/usr/bin/sshd
進程:是程序運行的過程,動態,有生命周期和運行狀態

二.線程狀態

1.新建(NEW):新創建了一個線程對象。
2.可運行(RUNNABLE):線程對象創建后,其他線程調用了該對象的start方法,該狀態的線程位于可運行線程池中,等待被線程調度選中,獲取cpu的使用權。
3.運行(RUNNING):可運行狀態(runnable)的線程獲得了cpu時間片(timeslice),執行程序代碼。
4.阻塞(BLOCKED):阻塞狀態是指線程因為某種原因放棄了cpu使用權,也即讓出cpu timelice,暫時停止運行,直到線程進入可運行(runnable)狀態,才能有機會再次獲得cpu timeslice轉到運行(running)狀態。

等待阻塞:運行(running)的線程執行o.wait方法,JVM會把該線程放入等待隊列(waitting queuq)中。
同步阻塞:運行(running)的線程在獲取對象的同布鎖時,若該同步鎖被別的線程占用,則JVM會把該線程放入鎖池(lock pool)中。
其他阻塞:運行(running)的線程執行thread.sleep(longms)或t.join方法,或者發出了I/O請求時,JVM會把該線程置為阻塞狀態,當sleep狀態超時、join等待線程終止或者超時或者I/O處理完畢時,線程重新轉入可運行(runnable)狀態。
5.死亡(DEAD):線程run、main方法執行結束,或者因異常退出run方法,則該線程結束生命周期,死亡的線程不可再次復生。

三.ps查看靜態進程信息

3.1ps常用參數

-a:顯示當前終端下的所有進程信息,包括其他用戶進程,與x結合將顯示系統中所有進程信息。
-u:使用以用戶為主的格式輸出進程信息。
-x:顯示當前用戶在所有終端下的進程信息。
USER:? ? ? ? 進程用戶名
PID:? ? ? ? ? ? 進程id號
%CPU:? ? ? ? cpu占用百分比
%MEM:? ? ? ?物理內存占用百分比
VSZ:? ? ? ? ? ? 進程使用的虛擬內存量
RSS:? ? ? ? ? ? 進程占用的虛擬內存量
TTY:? ? ? ? ? ? ?表明進程在哪個終端上運行
STAT:? ? ? ? ? ?該進程的狀態(D:不可中斷的休眠狀態 R:正在運行狀態 S:處于休眠狀態,可? ? ? ? ? ? ? ? ? ? ? ? ? ?喚醒?T:停止狀態,可能是在后臺暫停或進程處于跟蹤調試狀態 Z:僵尸進程,但? ? ? ? ? ? ? ? ? ? ? ? ? ?是有部分進程還在內存中)
START:? ? ? ? 進程啟動時間
TIME:? ? ? ? ? ?進程使用cpu時間總計
COMMAND:命令名

3.2進程狀態

-D:不可被喚醒的睡眠狀態
-R:該進程正在運行
-S:該進程處于休眠狀態,可換醒
-T:停止狀態,可能是在后臺暫停或處于排錯狀態
-W:內存交互狀態
-X:死掉的進程
-Z:僵尸進程,進程停止但仁在內存中運行
-<:高優先級
-N:底優先級
-L:被鎖入內存
-s:包含子進程
-l:多線程
-+:處于后臺
-C:進程占用cpu的百分比

ps -aux(以列表形式顯示出進程信息)

四.TOP查看動態進程信息

4.1Top進程信息

PID: ? ? ? ? ? ?進程id
User:??????????進程的用戶名
Pr:??????????????優先級
Ni:??????????????進程優先級的修正量,負的優先高,正的優先低
Virt:????????????進程使用的虛擬內存總量,單位kb
Res:?????????? ?進程使用的、未被換出的物理內存大小,單位kb
Shr:????????????共享內存大小,單位kb
S:???????????????進程狀態。(D=不可中斷的睡眠狀態,R=運行,S=睡眠,T=跟蹤/停止,Z=僵尸進程)
%cpu:????????上次更新到現在的CPU時間占用百分比
%mem:??????進程使用的物理內存百分比
Time+:???????進程使用的CPU時間總計,單位秒
Command:命令名/命令行
load average:0.00,0.01,0.05
系統負載,即任務隊列的平均長度。三個數值分別為 1分鐘、5分鐘、15分鐘前到現在的平均值。

4.2top選項

默認3s刷新一次,按s修改刷新時間,按空格:立即刷新
P: ? ?按CPU排序
M: ? 按內存排序
T: ? ?按時間排序
p: ? ?進程IP,查看某個進程狀態
N : ?根據啟動時間進行排序
? ? ? ? ?數字鍵 1:顯示每個內核的CPU使用率u/U:指示顯示的用戶
h: ? ?可以獲得top程序的在線幫助信息
q: ? ?鍵可以正常地退出top程序

?

五.pgrep查詢進程信息

pgrep選項

-l:選項可同時輸出對應的進程名以及PID
-U:選項查詢特定用戶的進程
-t:選項查詢在特定終端運行的進程

六.pstree以樹形結構列出進程信息

pstree選項

-p:選項使用時可以同時列出對應的PID號
-u:選項可以列出對應的用戶名
-a:選項可以列出完整的命令信息

七.jobs查看處于后臺的任務列表

jobs選項

-l:選擇可以同時顯示該進程對應的pid號

& :這個用在一個命令的最后,可以把這個命令放到后臺執行

當Linux操作系統中的命令正在前臺執行時(運行尚未結束),按照Ctrl+Z組合鍵可以將當前進程掛起(調入后臺并停止執行),這種操作在需要暫停當前進程并進行其他操作時特別有用。

bg(讓后臺暫停的任務運行)

fg(將后臺任務恢復到前臺需要加Ctrl+Z組合鍵

八.kill終止進程運行

當用戶在前臺執行某個進程時,可以按Ctrl+C組合鍵強制進行中斷(如命令長時間沒有響應的情況下)。中斷前臺進程的運行后,系統將返回命令行提示符狀態等待用戶輸入新的命令。當按Ctrl+C組合鍵無法終止程序或者需要結束在其他終端或后臺運行的進程時,可以使用專用的進程工具 kill、killall和pkill。

kill -9強制殺死進程

九.計劃任務管理

在Linux操作系統中,除了用戶即使執行的命令操作以外,還可以配置在指定的時間、指定的日期執行預先計劃的系統管理任務(如定期備份、定期采集監測數據)。CentOS 系統中默認已安裝了at、cronie 軟件包,通過atd和crond這兩個系統服務實現一次性、周期性計劃任務的功能,并分別通過at、crontab命令進行計劃任務設置。

9.1at 一次性計劃任務設置

使用at命令設置的計劃任務只能在指定的時間點執行一次,前提是對應的系統服務atd必須已經運行。需要注意的是,計劃執行任務的時間,日期必須安排在當前系統的時刻之后,否則將無法正常設置計劃任務。
設置一次性計劃任務時,在at命令行中依次指定計劃執行任務的時間、日期作為參數(若只指定時間則表示當天的該時間,若只指定日期則表示該日期的當前時間),確認后將進入帶"at>"提示符的任務編輯界面,每行設置一條執行命令,可以依次設置多條語句,最后按Ctrl+D組合鍵提交任務。所設置的命令操作將在計劃的時間點被依次執行。


驗正結果

9.2crontab周期性任務

1.crontab的配置文件和目錄
/etc/crontab——系統任務配置文件
/etc/crontab 文件中設置的是維護Linux操作系統所需的任務,Linux操作系統及相關程序在安裝時可自動設置,不建議用戶手動修改此文件。例如,該文件中包括設置Shell環境,可執行路徑等變量的操作,以及每小時、每天、每周、每月需要執行的任務目錄。執行如下的"cat /etc/crontab"命令可以查看/etc/crontab文件的具體內3容。

2.crontab計劃任務的配置

字段?? ?說明
分鐘?? ?取值為0到59之間的任意整數
小時?? ?取值為0到23之間的任意整數
日期?? ?取值為1到31之間的任意整數
月份?? ?取值為0到12之間的任意整數
星期?? ?取值為0帶7之間的任意整數,0或7代表星期日
命令?? ?要執行的命令或程序腳本

3.crontab選項設置

crontab -e:編輯任務計劃表
crontab -l:列表顯示計劃任務
crontab -r:刪除計劃任務列表

1.表示每周日的早晨1點重啟httpd服務

2.表示每隔3天關閉防火墻服務

3.表示周1周3周5早上1點備份/etc/httpd目錄

4.crontab -r表示情況計劃任務

原文鏈接:https://blog.csdn.net/qq_59161414/article/details/125713396

欄目分類
最近更新