Linux的進程管理和作業控制

 read命令的用法:

read 選項 變量  #read實現的作用是將從鍵入的字符串賦值給變量

-p 在鍵入命令之前先顯示一段字符

-t 等待用戶輸入的超時時間

-a 將鍵入的數據賦值給數組

 

變量的拓展:

$?:用於存放最後一次命令執行的返回值,將每個變量作爲一個字段添加分隔符

$*:用於引用所有變量的參數,將所有的字段看作爲一個字段加入分隔符

$@:用於引用所有變量的參數
$#
:顯示命令項腳本傳入參數的個數
$0
:顯示腳本的當前名字以及路徑

$$:查看自身命令的進程
$!
:查看最後一次執行在後臺的進程號
$_
:引用最後一次執行完畢的結果

腳本退出命令exit

exit + 返回值   #從腳本退出並將返回值設定爲後跟的數

 

一個簡單的用於腳本生成的腳本:

文件名 nsh

  1 #!/bin/bash 

  2 #

  3 ls $1 &> /dev/null && vim $1

  4 ls $1 &> /dev/null ||cat> $1 <<EOF

  5 #!/bin/bash

  6 #:Title:

  7 #:Synopsis:

  8 #:DateTime:`date +"%F %T"`

  9 #:Version:Unknow

 10 #:Author: redhat_hu

 11 #:Option:None

 12

 13 EOF

 14 vim +8 $1

 15 chmod +x $1

使用方法:nsh 腳本名

說明:

1.       shbang

2.       判斷新建的腳本名是否存在,若存在,則使用vim打開此文件

3.       若不存在,則向其中導入4~11行內容

4.       導入後使用vim打開新腳本,並將光標定位在新腳本的第八行

5.       新腳本退出vim後賦予可執行權限

 

linux進程管理:

進程:是計算機分配系統資源的基本單位

linux中進程優先級分爲:靜態優先級 100~139(可人爲控制),動態優先級 0~99(有kernel控制)。(優先級越小則越高)

對靜態有限的控制由nice值來實現,nice取值範圍-20~19與靜態優先級100~139一一對應,進程啓動默認nice0,給出讓出cpu使用權的進程,nice值上升,優先級下降。

 

進程查看相關命令:

ps命令

ps option

-e 顯示所有進程

-a 顯示與終端無關的進程

-x 顯示與終端有關的進程

-u 顯示進程的發起者

-o 自定義顯示哪些字段

常用ps aux

 

top option以動態的形式顯示當前進程的數據

-b batch mode以文本的方式顯示進程數據

-d delay time動態的刷新時間

-n 顯示次數

 

pgrep option processname

無選項默認輸出進程pid

-u 查看進程發起者的uid

-g 查看進程發起者的gid

 

pidof processname

查看某進程的進程號

 

pstree 顯示所有進程的進程樹

-p 顯示pid

 

與進程顯示相關的字段

PID:進程號

PPID:父進程號(所有進程都有init進程派生)

TTY:標示進程與哪個終端相關

STAT:進程的狀態

       D:不可中斷的睡眠狀態,例如I/O操作中

       R:運行/就緒態

       S:可中斷的睡眠態

       Tstop停止態

       Z:殭屍態(進程結束但是尚未釋放資源)

1、  當前進程處於結束中,其父進程正在爲其清理佔用資源

2、  子進程結束時發現父進程在其之前結束,無法清理釋放佔用資源

TIME:進程獲得CPU的時間

COMMAND:進程的發起命令

%CPU:進程的cpu佔用率

%MEN:進程的內存佔用率

VSZ:進程在虛擬內存集中的佔用大小

RSS:進程在物理內存集中的佔用大小

 

進程間通信機制:IPC主要分爲共享內存和信號量的進程間發送。

 

信號量控制命令kill

kill option SIG pid

-l 查看所有的信號量

信號量:

1SIGHUP    若進程是服務發送此信號量重載配置文件

2SIGINT    結束當前作業ctrl+c

9SIGKILL   強行殺死進程

15SIGKTERM    結束進程,讓進程自行關閉

18SIGCONT      將停止的進程繼續

19SIGSTOP       將運行進程停止

 

killall 進程名

殺死所有與進程名相關的進程

 

nice值的修改

nice命令啓動進程時制定nice

nice –n 數值 命令  設定命令運行時初始值

renice 數值 進程號      設定運行中的進程nice

 

作業控制:

作業分爲前臺作業和後臺作業,以是否佔用shell來區分。

將命令啓動即放入後臺執行:

命令 &

nohup命令可以實現關閉終端後命令仍執行

 

前臺、後臺切換

ctrl+z 將當前作業送入後臺並停止

fg 作業號 #將作業從後臺調入前臺

bg 作業號 #將前臺作業調入後臺並運行,將後臺作業從停止轉爲運行

kill %作業號 #殺死作業 (默認15

 

free顯示內存信息(默認以K爲單位)

-m 以兆爲單位顯示

 

uptime顯示啓動時間以及平均負載

 

vmstat 時間(秒) 顯示內存信息,按秒數刷新

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章