一、进程管理
1.概述
- 进程是正在执行的程序或命令,每一个进程都独立运行,都有自己的地址空间,并占用一定的系统资源
- 以后开发会遇见:
- 端口占用
- 出现程序假死、卡死
2.查看系统运行进程
-
语法
ps 参数
- ps –a:显示当前终端下的所有进程信息
- ps –u:以用户的格式显示进程信息
- ps –x:显示后台进程运行的参数
- ps –e:显示所有进程信息
- ps –f:以全格式显示进程信息
-
常用命令
- ps -ef | grep xxx
- ps -aux | grep xxx
-
ps -ef|grep xxx
-
ps -ef 操作
信息 说明 UID 用户id PID 进程id PPID 父进程id C cpu 计算优先级因子:值越大,表示密集型运算,优先级越低,值越小,i/o密集型,优先级越高 STIME 进程启动时间 TTY 终端名称 TIME cpu 运行时间 CMD 启动进程所用的命令和参数
-
-
ps -aux|grep xxx
-
ps -aux
信息 说明 USER 进程产生的用户 PID 进程id %CPU cpu 执行占用%比 %MEM 内存占用率 VSZ 占用虚拟内存大小KB RSS 占用实际物理内存大小KB TTY 终端名称 STAT 进程状态 S:睡眠,R:运行,T:暂停,Z:僵尸状态,s:包含子进程,l:多线程 START 进程启动时间 TIME 进程占用CPU运算时间 CMD 运行命令
-
3.kill 杀进程
-
语法
kill [选项] pid
-
选项 -9 强制杀进程
-
演示杀进程
kill -9 pid
4.top监控系统进程
-
语法
top [选项]
-
选项
- -d 秒 :每隔几秒更新
- -i : 不显示闲置僵死的进程
- -p : 监控具体进程ip
-
排序显示(操作之后再按)
- P :以CPU使用率排序
- M :以内存使用率排序
- N :以PID 排序
- q : 退出
-
top
-
top
信息 说明 11:16:03 系统时间 up 41 min 系统运行时间 2 users 运行了两个用户 load average: 0.00, 0.01, 0.03 负载,大于1负载超负荷 -
进程任务信息
信息 说明 174 total 进程总量 1 running 运行中数量 173 sleeping 睡眠数量 0 stopped 正在停止运行数量 0 zombie 僵尸进程数量 -
cpu 占用比例信息
信息 说明 0.0 us 用户模式占用cpu百分比 0.0 sy 系统占用cpu百分比 0.0 ni 改变过优先级用户进程占用cpu百分比 100.0 id 空闲cpu百分比 0.0 wa 等待输入输出进程占用cpu百分比 0.0 hi 硬中断 0.0 si 软中断 0.0 st 虚拟机等待实际cpu的百分比 -
物理内存
信息 说明 3861300 内存总量KB 3382868 free 空闲总量 313716 used 使用的总量 164716 buff/cache 缓存交互总量 -
交换分区内存
信息 说明 4063228 total 分配总内存大小 4063228 free 空闲内存 0 used 使用大小 3338416 avail Mem 缓存
-
5.netstat 显示网络状态或者端口占用信息
-
语法
netstat -anp|grep pid netstat -nlp|grep port netstat -ntlp|grep port
-
选项
-a:显示所有正在监听(listen)和未监听的套接字(socket)
-n: 能显示数字显示数字,不显示别名
-l : 列出监听的服务状态 -t : tcp 端口
-p: 列出进程调用
-
查看端口是否占用 netstat -nlp|grep port
-
通过端口是否占用,可以快速的给出自己信息方便部署项目
二、服务管理
1.概述
服务:是支持Linux运行的一些必要程序,本质上也是进程,叫守护进程。比如sshd、防火墙等
2.指令
-
语法
systemctl [可选] 服务名称
- 可选参数
- start 开启
- stop 停止
- restart 重启
- reload 重新加载
- status 服务状态
- enable 开机启动
- 可选参数
3.防火墙的操作
-
firewalld 服务名称
-
查看防火墙状态操作
systemctl status firewalld
-
停止防火墙
systemctl stop firewalld
-
开启防火墙
systemctl start firewalld
4.开放指定端口
- 问题:以后部署项目的时候,经常发现访问不了,或者从本地开发环境连接测试的中间件观察数据时,发现联不通
4.1检测防火墙是否开启
- systemctl status firewalld
4.2 开放指定端口
-
需求:开放8080端口
-
检测 8080 端口是否已经开通
telnet ip port
-
开启 windows 的 telnet 命名
-
找到控制面板
-
点击程序
-
启动或关闭 windows 功能
-
勾选中 telnet 客户端
-
测试 8080 端口是否通
-
-
使用命令添加端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
- 命令含义
- –zone #作用域
- –add-port=8080/tcp #添加端口,格式为:端口/通讯协议
- –permanent #永久生效,没有此参数重启后失效
- 命令含义
-
查看端口是否开启成功
firewall-cmd --query-port=8080/tcp
-
重启防火墙
firewall-cmd --reload
-
-
注意:这是 centos7 的使用方式,如果你是之前的版本,需要去改 iptables 配置文件
5.查看网络是否通
-
ping 命令:是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障
-
语法
ping 目标ip
-
-
curl 命令:用来发送HTTP请求
-
语法
curl [可选]可选 -X参数:指定请求方式 -v参数:显示响应结果 -u参数:携带用户名/密码 -H参数:携带请求消息头信息
-
给百度发起请求
curl -X get -v https://www.baidu.com
-
-
telnet :测试端口通否
-
语法
telnet ip port
-
测试与 www.sycoder.cn 80 端口通与否
-
6.linux 开关机操作
-
作为开发人员几乎不用
-
重启
-
立刻重启
shutdown –r nowreboot
-
-
关机
-
关机
shutdown now
-
-
注意:不到万不得已,不要去用,除非你的领导让你去用