目录
进程是已启动的可执行程序的运行实例,是程序运行的过程,动态的 ,有生命周期及运行状态。
程序:二进制文件 ,静态
一、查看进程
1.1静态查看进程
ps aux | less
ps : process snapashot
a :只能查看系统里面运行的所有终端进程
u :显示进程拥有者
x :显示系统内所有进程
f :显示进程之间的父子关系
USER:运行进程的用户
PID :进程ID
%CPU:CPU占用率
%MEM:内存占用率
VSZ :进程占用的虚拟内存大小
RSS :占用的物理内存大小
TTY :?表示没有占用终端
STAT:进程状态 (R 运行 S 可中断睡眠 D 不可中断睡眠 T 停止的进程 Z 僵尸进程 X 死掉的进程)
START:进程的启动时间
TIME :进程占用CPU的总时间
COMMAND:进程文件,进程名
进程状态 (了解)
Sl 以线程的方式运行
Ss s进程的领导者,父进程
R+ +表示的是前台的进程组
S< <优先级较高的进程
SN N优先级较低的进程查看tty的方法:
tty
?表示这个进程开启的时候没有占用终端
ps -ef
参数解释:
-e 显示所有进程
-l 长格式显示
-f 完整格式
UID 用户ID
PID 进程ID
PPID 父进程ID
C CPU占用率
STIME 开始时间
TTY 开始此进程的TTY 即终端设备
TIME 此进程运行的总时间
CMD 命令名
1.2动态查看进程
top 动态显示信息,三秒刷新一次
在工作中必须监控的东西 load average (平均负载)等待cpu处理的队列长度 也是个数
1分钟 第一个数字
5分钟 第二个数字
15分钟 第三个数字计算cpu 负载:load average 的三个值:0.10,0.16,0.12 分别除cpu的个数,得出的值,如果值大于1 则这时候的负载高
top
h|? 帮助
> 往下翻页
< 往上翻页
M 按内存排序
P 按CPU排序
q 退出
z 彩色显示
w 保存
PR 优先级
VIRT 进程使用的虚拟内存总量,单位kb VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb
SHR 共享内存大小,单位kb
ni nice值
id cpu空闲率
wa cpu等待,等待输入/输出的进程占用的CPU百分比。如果使用率过高,表示硬盘该换了
进程优先级nice
nice值越高:表示优先级越低,例如+19 ,该进程容易将CPU使用量让给其他进程
nice值越低:表示优先级越高,例如-20 ,该进程更不倾向于让出CPU
1.3查看单个PID
yum -y install httpd
systemctl start httpd
cat /var/run/httpd/httpd.pid
1043
1.4查看指定PID
ps aux | grep sshd
1.5查看端口
yum -y install lsof
lsof -i:80 #查看带端口的进程
查网络进程和正在监听的端口 netstat -lntp 参数详解: -a 显示全部的进程 -u 显示 udp -n 以数字的形式显示协议名称 -t tcp -p 显示进程的名称和pid -l 只显示正在被监听的端口 *w 看到已经等陆到终端的进程信息,远程登陆会有ip地址
二、进程控制
2.1按pid杀死进程
kill 信号 PID
pkill 信号 进程名 信号也是进程间通信的一种方式
kill -l 查看所有信号
-1 HUP 重新加载进程或者重新加载配置文件,PID不变
-9 KILL 强制杀死
-15 TERM 正常杀死(可不写)
-18 CONT 激活进程
-19 STOP 挂起进程
2.2作业控制
什么是作业?
作业控制指的是控制正在运行的进程的的行为。比如,用户可以挂起一个进程或者放到后台去运行,等一会再继续执行该进程。
[root@localhost ~]# sleep 500 &(& 让命令或者程序在后台运行)
[1] 82223 (分别是程序的工作号 及该进程的PID)
[root@localhost ~]# sleep 600 &
[2] 82505
[root@localhost ~]# sleep 700 &
[3] 82625
[root@localhost ~]# jobs 查看后台的工作号
[1] 运行中 sleep 500 &
[2]- 运行中 sleep 600 &
[3]+ 运行中 sleep 700 &
[root@localhost ~]# fg %1 #将后台的程序调到前台
sleep 500
^Z -------> Ctrl z 暂停
[1]+ 已停止 sleep 500
[root@localhost ~]# bg %1 #让暂停的程序在后台运行,%用来修饰job number , 1就是job number 程序的工作号
[1]+ sleep 500 &
[root@localhost ~]# jobs
[1] 运行中 sleep 500 &
[2]- 运行中 sleep 600 &
[3]+ 运行中 sleep 700 &
[root@localhost ~]# kill -9 %1
[root@localhost ~]# ps aux | grep sleep
root 101412 0.0 0.0 112824 988 pts/2 R+ 10:21 0:00 grep --color=auto sleep
三、常用命令
3.1查看当前CPU负载
[root@localhost ~]# uptime
10:29:27 up 1 day, 21:59, 3 users, load average: 0.19, 0.18, 0.19
3.2查看内存使用
[root@localhost ~]# free -m (-g 计量单位)
total used free shared buff/cache available
Mem: 976 119 153 12 703 665
Swap: 2047 0 2047
3.3查看系统的版本和内核
[root@localhost ~]# cat /etc/redhat-release #查看版本
CentOS Linux release 7.4.1708 (Core)
[root@localhost ~]# uname
Linux
[root@localhost ~]# uname -a #查看正在运行的内核版本
Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# uname -r #查看内核版本
3.10.0-693.el7.x86_64
3.4修改主机名
hostnamectl set-hostname xxxx #主机名,修改完之后断开与终端连接,然后重新连接即可
vim /etc/hostname xxxx #改名后重启