2020-04-08进程管理(2)

1.管理进程状态

kill -l 列出系统所支持的信号(常用三个)

1 SIGHUP 重载配置文件 kill -1

9 SIGKILL 强制杀死进程(对数据I/O要求高的文件慎用) kill -9

15 SIGTERM 终止进程,默认kill使用15(数据正在使用时,会等待数据操作结束之后才会杀死进程)kill -15

[root@study ~]# netstat -lntp        (查看进程)
[root@study ~]# ps -ef                    (查看ppid)

pkill pkill pid号
killall

例:httpd

开启进程httpd

systemctl start httpd

ps -ef | grep httpd
杀死httpd进程
kill 3812


2.孤儿进程的产生(httpd)

启动httpd服务
httpd加载一系列的子进程
kill -9 强制杀死httpd主进程,httpd拉起的子进程就变成了孤儿进程,被系统接管

pkill httpd        杀死进程名字
pkill -9 -t pts/0        踢登陆用户下线
killall httpd

3.后台运行

screen

#1.安装
[root@oldboy ~]# yum install screen -y

3.1.开启一个screen窗口,指定名称

[root@oldboy ~]# screen -S wget_mysql

3.2在screen窗口中执行任务即可

wget https://mirrors.aliyun.com/deepin-cd/15.11/deepin-15.11-amd64.iso

3.3平滑的退出screen,但不会终止screen中的任务。注意: 如果使用exit 才算真的关闭screen窗口

ctrl+a+d

即使退出当前用户终端,screen里的进程依然不会停止。

3.4.查看当前正在运行的screen有哪些

[root@oldboy ~]# screen -list

There is a screen on:

    22058.wget_mysql    (Detached)

1 Socket in /var/run/screen/S-root.

3.5.进入正在运行的screen

[root@oldboy ~]# screen -r wget_mysql
[root@oldboy ~]# screen -r 22058

4.优先级

renice修改正在运行程序的优先级
nice设定程序的优先级

renice -n -20 1517
nice -n     优先级数字  pid号
-n         设定优先级(-20(高),+20(低) ,0(一般))

ps axo 查看多个进程属性
ps axo pid,command,nice


5.系统平均负载

平均负载指单位之间内,系统处于 可运行R 的和 不可中断D 的进程的平均进程数
单位时间内的活跃进程数

最理想状态为:每一个CPU运行一个进程(提前知道服务器有多少核)
当平均负载高于CPU的70%时,负载有点高
记录数据整体分析趋势走向,来监控平均负载,这样可以系统准确的分析负载。

在I/O密集型和CPU密集型都有可能使平均负载上升
I/O密集型进程:大量的等待I/O 也会导致平均负载上升,而CPU的使用率可能不高。
CPU密集型进程:大量的CPU计算会导致平均负载上升(加密,视频转码,等等)
大量的CPU进程调度也可能使平均负载上升。

处理系统高负载基本过程如下

1.uptime查看平均负载
2.top查看是哪个资源被大量占用
3.top查看是哪个进程

which -d uptime 动态监控

你可能感兴趣的:(2020-04-08进程管理(2))