歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux的進程管理和作業控制

Linux的進程管理和作業控制

日期:2017/2/28 16:09:35   编辑:Linux教程
read命令的用法:

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

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

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

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

變量的拓展:

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

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

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

$$:查看自身命令的進程
$!:查看最後一次執行在後台的進程號
$_:引用最後一次執行完畢的結果
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->

腳本退出命令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 腳本名

說明:

<!--[if !supportLists]-->1. <!--[endif]-->shbang行

<!--[if !supportLists]-->2. <!--[endif]-->判斷新建的腳本名是否存在,若存在,則使用vim打開此文件

<!--[if !supportLists]-->3. <!--[endif]-->若不存在,則向其中導入4~11行內容

<!--[if !supportLists]-->4. <!--[endif]-->導入後使用vim打開新腳本,並將光標定位在新腳本的第八行

<!--[if !supportLists]-->5. <!--[endif]-->新腳本退出vim後賦予可執行權限

linux進程管理:

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

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

對靜態有限的控制由nice值來實現,nice取值范圍-20~19與��態優先級100~139一一對應,進程啟動默認nice為0,給出讓出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:可中斷的睡眠態

T:stop停止態

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

<!--[if !supportLists]-->1、 <!--[endif]-->當前進程處於結束中,其父進程正在為其清理占用資源

<!--[if !supportLists]-->2、 <!--[endif]-->子進程結束時發現父進程在其之前結束,無法清理釋放占用資源

TIME:進程獲得CPU的時間

COMMAND:進程的發起命令

%CPU:進程的cpu占用率

%MEN:進程的內存占用率

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

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

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

信號量控制命令kill

kill option SIG pid

-l 查看所有的信號量

信號量:

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

2:SIGINT 結束當前作業ctrl+c

9:SIGKILL 強行殺死進程

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

18:SIGCONT 將停止的進程繼續

19:SIGSTOP 將運行進程停止

killall 進程名

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

nice值的修改

nice命令啟動進程時制定nice值

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

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

作業控制:

作業分為前台作業和後台作業,以是否占用shell來區分。

將命令啟動即放入後台執行:

命令 &

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

前台、後台切換

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

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

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

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

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

-m 以兆為單位顯示

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

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

Copyright © Linux教程網 All Rights Reserved