cupsd程序 程序管理及作業控制

2021-10-13 07:48:01 字數 2918 閱讀 8750

主要內容:

1.linux程序管理 2.作業控制

1.程序:系統資源分派的單位,每個程序都有相應的優先順序.

程序優先順序:

1.動態優先順序:0-99,實時優先順序

2.靜態優先順序:100-139, nice值-20到19 對應10-139

nice(優雅):願意把自己的優先順序降低。把nice值調為5,高於0,很優雅的把機會

讓了別人,作為普通使用者只能優雅別人,即把nice值調高,降低自己的優先順序,而root

則可以隨意優雅。

程序管理常用命令:

1. ps : 檢視程序

-e 顯示所有程序

a 表示所有跟終端'無關'的程序

x  表示跟終端有關的程序

u 顯示程序由哪個使用者發起的

常用組合  ps axu   ; axjf 顯示程序關係

-f 顯示完整資訊

-f 顯示額外資訊

常用組合 ps -ef

j :jobs format,作業形式

h 顯示程序間關係

-o 自定只顯示那些字段

例: ps -eo pid,$cpu,comm

檢視 cupsd程序

ps aux | grep cupsd

-u pgrep -u 檢視某個特定使用者的程序 只顯示pid

-g       -g 顯示某個特定組的程序

pidof 檢視某個程序的pid號

top ::實時顯示程序資訊

-b : 顯示幾次退出

-n : 顯示幾次退出

-d : 指定間隔時間 s

free 檢視記憶體資訊-m 以m為單位顯示大小

uptime : 系統執行時間  1分鐘 ...

vmstat : 記憶體使用資訊  例:vmstat 3 5 每三秒顯示一次 只顯示5次

pstree : 檢視程序樹

2.程序個字段意義:

pid:程序號 表示程序儲存空間  task_structure

ppid: 父程序程序號

init: 所有程序的父程序 (上帝程序) 開機啟動的第乙個程序 程序號1swatped 0

vsz:虛擬記憶體集

rsc:實際記憶體集 記憶體頁4k

tty :與哪個終端相關

time :獲得cpu時間的和

start 該程序被觸發啟動的時間

command: 由哪個命令發起的

inint (3) 3.表示四級別三

加[ ] 為核心執行緒

[pdflush]將記憶體資料同步到硬碟上

(32bit) 記憶體分為兩段 第一段為1g 核心空間 ; 第二段3g 使用者空間

stat: 程序狀態

r :  1.執行態 runing  2.就需態 ready

runing-->sleep 等待i/o--> ready< --> running

d : 不可中斷睡眠 uninterruptible sleep ,這個程序正在完成其他的操作 如i/o

s : 可中斷睡眠 interruptible sleep  ,無可做的工作

t : 停止態

z : zombie(殭屍態) 特殊狀態 執行結束後沒釋放記憶體

1.系統結束指令後 程序自清理 在釋放記憶體前(父程序清理記憶體空間)

2.父程序kill後 子程序在結束後 無法清理記憶體

3.孤兒程序 父程序完成任務後 子程序委託給init

< :表示高優先順序程序

n :表示低優先順序程序

+ :跟某個前台程序相關,屬於某個前台程序組的程序.

s :某個會話的leader程序

l :某個多執行緒的程序

(thread 比程序更輕量級的資源分配單位,共享記憶體,資源爭用機制)

程序和執行緒的區別:

核心空間和使用者空間的區別:(只有核心空間的程式才能操作硬體)

核心空間和使用者空間打交道的方法:

1).系統呼叫

2).中斷

程序間通訊:ipc

共享記憶體機制:

訊號結束程序:

kill

1)管理後台作業kill:

kill -l 列出當前kill能使用的訊號

-1 重讀一次引數的設定檔案

-2 等同於ctrl+c

-9 突然讓乙個程序死掉

-15 讓乙個程序正常的死掉

-18 讓停止的程序繼續執行 (bg)

-19 讓執行的程序停下來歇會兒  (ctrl+z)

kill -n  (常用)如何向另外乙個程序傳送訊號,後跟另乙個程序的程序號

jobs 檢視當前所有作業

eg:kill -9 %1 將作業1突然kill掉(強行)

kill -kill(常用)

2)kill程序:

kill 程序號  (只能後跟程序號,把某個程序kill掉預設傳送的是15訊號)

eg:kill 2288

killall 程序名 (killall後跟程序名)

pkill signal pattern

作業控制:

完成乙個特定任務的一組程序

工作機制:

前台  發起命令後如果尚未完成就一直占用shell

eg: cp -r /etc /tmp/abc

後台  發起命令後釋放shell

eg: cp -r /etc /tmp/abc &

nohup cp -r /etc /tmp/cba & (表示不但把此作業送到後台,而且讓其與終端無關

ctrl+z    把命令送到後台去(在後台處於停止狀態)

&         把命令送到後台(在後台處於running狀態)

fg        把後台的作業重新調到前台

bg 作業號 把命令處於後台並在後台執行 eg:bg %2

jobs    檢視當前處在後台的所有作業,第一列為作業號

fg n    調回第n個作業

Linux程序及作業管理

核心的作用 程序管理 檔案系統 網路功能 記憶體管理 驅動程式 安全功能 process 執行中的程式的乙個副本,存在生命週期 linux核心儲存程序資訊的固定格式 task struck,多個任務的task struck元件鍊錶 task list 程序建立 init 父子關係 程序 都有其父程序...

linux程序及作業管理(三) 作業管理

linux系統作業控制 job 前台作業 foregroud 通過終端啟動,且啟動後會一直佔據終端 後台作業 backgroud 可以通過終端啟動,但啟動後即轉入後台執行 釋放終端 如何讓作業執行於後台?1 執行中的作業 ctrl z 相當於19號訊號 注意 送往後台後,作業會轉為停止態 2 尚未啟...

程序和作業管理

init命令是linux下的程序初始化工具,init程序是所有linux程序的父程序,它的程序號為1。init命令是linux作業系統中不可缺少的程式之一,init程序是linux核心引導執行的,是系統中的第乙個程序。語法 init 選項 引數 選項 b 不執行相關指令碼而直接進入單使用者模式 s ...