一、进程管理
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
 
-  
-  注意:不到万不得已,不要去用,除非你的领导让你去用