RHCE认证辅导:进程

进程
什么是进程?  
进程就是执行文件时候被写入到内存中的信息。
每个进程都通过一个唯一的进程号PID来唯一识别。(pidof program_name查找运行程序的PID)
PTS 伪终端 pseudoterminal 图形界面下,没有数量限制。  pts/X 用SSH远程登录会生成一个伪终端。
tty1-tty6 虚拟终端
ttyS0 计算机的console端口连接到的设备
 PS 列出进程  ()
 ps aux
其中:各行分别为 :  用户名  进程号  CPU利用率 内存利用率  虚拟内存占用量 真实内存占有量 所属终端(?有些进程在开启终端前启动所有没有终端名称)    状态(S、S 、Z僵尸程序  < + >进程唤醒的优先级) 开启时间 持续时间 进程名称
pgrep 按照名称或其他属性来查看进程
pstree 以进程树的方式显示进程  init是所有进程的父进程。
进程没有忠诚度,一段停止重新启动之后进程号一定会改变
restart进程重启,需要停止  reload进程重载进程不停止
在/proc/pid/下面  的oom_adj  out of memeroy 
more oom_adj   (范围)  -15时候 oom_score为0杀死的可能性为0,不可能被杀死
more oom_score
echo -15 > /proc/$(pidof vsftpd)/oom_adj   将vsftp的进程优先级设为-15
信号
信号是系统和进程交互的指令
man 7 signal  (查看完整的信号列表)
信号1,reload 重载配置文件。 
信号9,kill 立即终止进程。
信号15  终端默认 正常终止。
eg: kill -15 27141
killall [-signal ] command    eg:killall httpd
pkill  [-signal ] pid/command

进程优先级(nice)
nice值默认情况下为0,取值范围为-20——19,数字越小优先级越高
调整进程优先级。
已经运行的进程调整其优先级:renice 15 pid
未曾运行的进程调整其优先级: nice -n 15 command
清空缓存  free -m  sysctl -w vm.drop_caches=3
普通用户只能降低自己的优先级,只有root用户才可以提升自己的优先级
jobs 进程控制
top动态显示系统进程
在运行的程序后面加一个 & 是将进程丢入后台运行。eg:cp -r /usr/ /tmp/ &
ctrl+Z 讲一个正在运行的进程丢入后台运行
ctrl+C 停止运行当前的程序并丢入后台  b
bg  [%jobnumber] 将一个在后台暂停的程序继续在后台运行
fg  %jobnumber 将一个后台运行的程序拉入前台运行  + 默认启动
kill  %jobnumber杀死后台某个程序
kill  -19  pid 讲一个运行的程序丢向后台
怎样查看后台运行的进程    jobs   kill %1
退出状态
$?上一命令退出时候的返回结果,0表示成功,1-255代表失败。exit [number]退出并将状态设置为num
command1 && command2 当地一条命令执行成功执行成功时候执行第二条命令
command1 || command2 当地一条命令执行失败执行成功时候执行第二条命令
test命令(测试表达式是否正确)返回值0,表示真,返回值1,表示假。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/22290.html