目录
进程管理
程序:二进制文件
进程:程序运行的过程 动态 有生命周期 它可以产生也可以消亡
线程:一个进程可以包含一个或多个线程
父进程:程序运行的第一个进程
子进程:由父进程产生的
查看进程:
静态查看:ps
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
进程的拥有者
进程的标识
cpu的使用率
内存的使用率
状态 R 运行
S 暂停
T 停止
Z 僵尸
s 父进程
< 高优先级
N 低优先级
l 以线程的方式运行
+ 看的到的进程
扩展:
1.查看内存的使用率排名前十的进程
[root@localhost ~]# ps aux --sort -%mem | head
[root@localhost ~]# ps aux --sort %cpu 从小到大
[root@localhost ~]# ps aux --sort -%cpu 从大到小
端口:每个服务都有自己对应的默认端口
apache/nginx:80 http协议(超文本传输协议) https协议(加密的超文本传输协议):443
ssh:22
ftp:20 21
tomcat:8009 8080 8005
php-fpm:9000
zabbix:10050 10051
mysql:3306
查看进程pid的命令
ps aux
pidof
pgrep
lsof -i:22 查看22端口的服务
ps axo
ps -elf
cat看进程pid的文件
动态查看: top htop
1.top参数
-d:设置间隔时间
-p:指定pid
-u:指定用户
-b:显示所有进程
-n:打印几次
2.htop
上左区:显示了CPU、物理内存和交换分区的信息;
上右区:显示了任务数量、平均负载和连接运行时间等信息;
进程区域:显示出当前系统中的所有进程;
操作提示区:显示了当前界面中F1-F10功能键中定义的快捷功能。
F1:显示帮助信息
F2:配置界面中的显示信息;
F3:进程搜索;
F4:进程过滤器;
//search会将光标定位到符合条件的进程上,通过F3键进行逐个查找;而filter会直接将符合条件的进程筛选出来。
F5:显示进程树;
F6:排序;
F7:减小nice(优先值);
F8:增加nice(优先值);
F9:杀掉指定进程;
常用参数:
u:显示指定用户的进程
查看网络进程
TCP/IP协议 网络协议 上网 四层(应用层 传输层 网络层 网络接口层)
传输层:UDP(用户数据报协议) TCP(传输控制协议)
当数据进入到传输层的时候会选择采用哪种方式进行数据的传输
采用UDP传输,以当前网络进程为例,就是UDP进程
采用TCP传输,以当前网络进程为例,就是TCP进程
网络进程可以查看网络进程对应的信息,也可以利用获取到的信息对网络进程进行管理,通过网络进程来判断一个服务是否处于运行状态
如果在查看的过程中,可以看到服务的端口号。
netstat
yum -y install net-tools
netstat -auntpl | grep 22 过滤22号端口
-a 显示所有活动的连接以及本机侦听的TCP、UDP端口
-l 显示监听的服务器端口
-n 直接使用IP地址,不通过域名服务器
-p 正在使用进程的程序PID和程序名称
-t 显示TCP传输协议的连线状况
-u 显示UDP传输协议的连线状况
ss 推荐使用
查看网络进程
-a显示所有的进程
-l显示正在监听的网络端口
-n显示数字IP和端口,不通过域名服务器
-p显示使用进程的对应的程序
-t只显示TCP进程
-u只显示UDP进程
[root@localhost ~]# ss -antpl | grep 22
LISTEN 0 128 *:22 *:* users:(("sshd",pid=856,fd=3))
LISTEN 0 128 :::22 :::* users:(("sshd",pid=856,fd=4))
进程控制
语法格式:
kill +信号 pid
备注:
如果没有killall的命令:执行下列代码
[root@localhost /]# yum -y install psmisc
[root@localhost ~]# kill -l //列出所有支持的信号 编号 信号名
-1 / -HUP 重新加载进程或者重新加载配置文件
-9 / -KILL 强制杀死
-15 / -TERM 正常杀死(这个信号可以默认不写)
-18 / -CONT 激活进程
-19 / -STOP 挂起进程
注意:(修改完配置文件必须要重新加载配置文件或者是重新启动服务,目的是为了让修改后 的配置文件生效)
(重新加载配置文件pid保持不变,重启服务,pid会发生改变)
(pid的作用是用来唯一标识一个进程,如果说这个进程关闭有重启,我们系统不会保留这个原 有的pid,会生成一个新的pid给我们的服务使用)
扩展:
查看系统资源的命令
:
[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 10325796 3156 4024504 0 0 28 51 185 194 10 8 82 0 0
空闲内存
缓存中的内存
us sy id
用户使用cpu百分比
系统使用cpu百分比
cpu空闲率
yum -y install dstat(全能工具箱)
[root@localhost ~]# dstat
You did not select any stats, using -cdngy by default.
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read writ| recv send| in out | int csw
10 8 82 0 0 0| 11k 20k| 0 0 | 0 0 | 257 447
16 2 81 0 0 0| 0 0 | 17k 1110k| 0 0 |3308 5841
16 3 81 0 0 0| 0 0 | 41k 471k| 0 0 |3870 6784
17 4 78 0 0 1| 0 0 | 66k 417k| 0 0 |4670 7523
18 2 79 0 0 0| 0 4096B| 48k 560k| 0 0 |4169 7335
18 4 78 0 0 0| 0 0 | 93k 906k| 0 0 |5228 8789
18 5 78 0 0 0| 0 0 | 65k 867k| 0 0 |4631 8091
17 3 79 0 0 1| 0 0 | 34k 550k| 0 0 |3756 6549
17 3 80 0 0 0| 0 0 | 34k 554k| 0 0 |3709 6576
usr sys idl
用户使用cpu百分比
系统使用cpu百分比
cpu空闲率
-c、 --cpu启用cpu统计
-C 可以指定那个cpu dstat -C 0,3
-d、 --磁盘总的统计
-D 指定磁盘 dstat -D sdb
-m、 --内存启用内存统计
-n、 --网络启用网络统计
-N 指定单独的网卡接口名称 dstat -N eth0
-p、 --proc enable进程统计信息
-r、 --io启用io统计(I/O请求已完成)
-s、 --交换启用交换状态
-S swap1,总计包括swap1和total
-a、 --all equals-cdngy(默认值)
-f、 --完全自动展开-C、-D、-I、-N和-S列表
[root@localhost /]# dstat -cmprdns