感谢支持
我们一直在努力

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一一对应,进程启动默认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:僵尸态(进程结束但是尚未释放资源)


<!–[if !supportLists]–>1、  <!–[endif]–>当前进程处于结束中,其父进程正在为其清理占用资源


<!–[if !supportLists]–>2、  <!–[endif]–>子进程结束时发现父进程在其之前结束,无法清理释放占用资源


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 时间(秒) 显示内存信息,按秒数刷新

赞(0) 打赏
转载请注明出处:服务器评测 » Linux的进程管理和作业控制
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏