linux 進程及作業管理

 1、Process: 運行中的程序的一個副本,是被載入內存的一個指令集合

進程IDProcess ID,PID)號碼被用來標記各個進程

UIDGID、和SELinux語境決定對文件系統的存取和訪問權限,

通常從執行進程的用戶來繼承

存在生命周期

Uninterruptible sleep: 不可中斷的睡眠

Interruptible sleep:可中斷睡眠

2、進程優先級:

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

0-139CentOS5

各有140個運行隊列和過期隊列

0-98,99CentOS6

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

nice值:-2019,對應系統優先級100-13999

100-139:用戶可控制

0-99:內核調整的

3ps: Process State

a: 所有與終端有關的進程

x: 所有與終端無關的進程

進程的分類:

跟終端相關的進程

跟終端無關的進程

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

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

進程狀態:

運行態:running

就緒態:ready

睡眠態:

可中斷:interruptable

不可中斷:uninterruptable

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

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

D:不可中斷的睡眠

R:運行或就緒

S:可中斷的睡眠

T:停止

Z:僵死

<:高優先級進程

N: 低優先級進程

+:前臺進程組中的進程

l: 多線程進程

s: 會話進程首進程

 

ps    -elF |-ef |-eF

ps -o PROPERTY1,PROPERTY2

ps -o pid,comm,ni

pstree: 顯示當前系統上的進程樹

pgrep

pidof: 根據程序名稱,查找其相關進程的ID 

top:

M: 根據駐留內存大小進行排序

P:根據CPU使用百分比進行排序

T: 根據累計時間進行排序

4、進程間通信(IPC: Inter Process Communication

重要的信號:

1SIGHUP: 讓一個進程不用重啟,就可以重讀其配置文件,并讓新的配置信息生效;

2: SIGINTCtrl+c: 中斷一個進程

9: SIGKILL:殺死一個進程

15: SIGTERM:終止一個進程, 默認信號

指定一個信號:

信號號碼:kill -1

信號名稱:kill -SIGKILL

信號名稱簡寫:kill -KILL

kill PID

killall COMMAND

5、調整nice值:

調整已經啟動的進程的nice值:

renice NI PID

在啟動時指定nice值:

nice -n NI COMMAND

6、前臺作業:占據了命令提示符

    后臺作業:啟動之后,釋放命令提示符,后續的操作在后臺完成

前臺–>后臺:

Ctrl+z: 把正在前臺的作業送往后臺

COMMAND &:讓命令在后臺執行

bg: 讓后臺的停止作業繼續運行

bg [[%]JOBID]

7、jobs: 查看后臺的所有作業

作業號,不同于進程號

+:命令將默認操作的作業

:命令將第二個默認操作的作業

fg: 將后臺的作業調回前臺

fg [[%]JOBID]

kill %JOBID: 終止某作業

vmstat:系統狀態查看命令

uptime

/proc/meminfo

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

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

at

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

周期性運行某任務

Cron

at命令:at [option] TIME

v常用選項:

-V 顯示版本信息:

-l: 列出指定隊列中等待運行的作業;相當于atq

-d: 刪除指定的作業;相當于atrm

-c: 查看具體作業任務

-f /path/from/somefile:從指定的文件中讀取任務

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

v注意:作業執行命令的結果中的標準輸出和錯誤以郵件通知給相關用戶

vTIME:定義出什么時候進行at 這項任務的時間

HH:MM [YYYY-mm-dd]

noon, midnight, teatime4pm

tomorrow

now+#{minutes,hours,days, OR weeks}

白名單:/etc/at.allow默認不存在,只有該文件中的用戶才能執行at命令

黑名單:/etc/at.deny默認存在,拒絕該文件中用戶執行at命令,而沒有在at.deny文件中的使用者則可執行

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

原創文章,作者:cui,如若轉載,請注明出處:http://www.www58058.com/85543

(0)
cuicui
上一篇 2017-08-28
下一篇 2017-08-28

相關推薦

  • http狀態碼大全

    狀態值:100 客戶端應當繼續發送請求。這個臨時響應是用來通知客戶端它的部分請求已經被服務器接收,且仍未被拒絕??蛻舳藨斃^續發送請求的剩余部分,或者如果請求已經完成,忽略這個響應。服務器必須在請求完成后向客戶端發送一個最終響應。 狀態值:101 服務器已經理解了客戶端的請求,并將通過Upgrade 消息頭通知客戶端采用不同的協議來完成這個請求。在發送完這個…

    Linux干貨 2016-11-01
  • 路徑別名的配置

    創建bbs目錄,在里面創建html文件 [root@bluee logs]# cd /www/htdocs [root@bluee htdocs]# ls index.html [root@bluee htdocs]# mkdir bbs [root@bluee htdocs]# vim bbs/index.html [root@bluee htdocs]#…

    Linux干貨 2016-08-05
  • 正則表達式應用

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

    Linux干貨 2016-12-24
  • Systemd——CentOS7的init

    Systemd:     POST –> Boot Sequeue(BIOS) –> Bootloader(MBR) –> kernel(ramdisk) –> rootfs –> /sbin/init init:   &nbsp…

    Linux干貨 2016-09-20
  • 第九周作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; 2、寫一個腳本     (1) 獲取當前主機的主機名,保存于hostname變量中;     (2) 判斷此變量的值是否為loc…

    2017-04-20
欧美性久久久久