Linux进程管理

1. 进程的基本介绍
  1. 在Linux中,每个执行的程序(代码)都被称为一个进程.每个进程都有对应的一个ID号
  2. 每个进程都会对应一个父进程,而父进程可以复制多个子进程
  3. 每个进程都可能以前台和后台两种方式存在.前台进程就是目前用户在页面上能进行的操作,后台进程是实际在进行的操作,但由于屏幕上无法看到,一般在后台运行
  4. 一般系统的服务都是以后台进程方式存在,而且都会常驻在系统之中.直到关机才结束
2. 显示系统执行的进程

使用ps -aux命令查看系统执行的进程
在这里插入图片描述
参数说明:

  • -a 显示当前终端所有用户进程信息
  • -u 显示用户
  • -x 显示后台进程运行参数
  • -f 以全格式显示
  • -e 效果与-a相同

每一列的含义:

  • USER 用户
  • PID 进程的id
  • %CPU 占用的CPU
  • %MEM 占用的内存
  • VSZ 使用的虚拟内存情况
  • RSS 使用的物理内存情况
  • TTY 使用的终端
  • STAT 进程的状态,其中几个常见的(R 运行、S休眠、I 空闲)
  • START 进程启动事件
  • TIME 占用CPU的总时间
  • COMMAND 进程执行时的命令行

使用 ps -ef 命令可查看父进程
在这里插入图片描述
每一列的含义:

  • UID 用户
  • PID 进程的id
  • PPID 父进程的进程号(如果该进程是由另一个进程启动的)
  • C 进程生命周期中的CPU利用率
  • STIME 进程启动的时间
  • TTY 使用的终端
  • TIME 占用CPU的总时间
  • CMD 启用进程所用的命令和参数
3. 终止进程命令以及案例演示
  1. kill -9 进程号 通过进程号强制终止进程
  2. killall 进程名称 通过进程名称终止进程(支持通配符)

案例1: 踢掉某个非法登录的用户
在这里插入图片描述
先查询到这个用户的进程号,然后使用kill通过进程号终止进程,将用户踢出

案例2: 终止远程连接sshd服务,然后重启此服务
在这里插入图片描述
同理,先查询到ssdh服务的进程号,然后kill终止.此时在使用xhell等远程工具,将不能在远程连接到服务器.
PS: 可以通过 service ssdh start 来重新启动服务,CentOS7之后是使用systemctl ssdh start

案例3: 以树形结构查看进程
在这里插入图片描述
我们可以通过 pstree 命令查看进程树,这样进程之间的关系一目了然. 其中 -p 参数表示显示进程号, -u 显示用户名

3. 服务管理

服务管理基本语法:

  • service 服务名 [start | stop | restart | reload | status]

应用实例: 查询防火墙状态,关闭防火墙然后重启防火墙

在这里插入图片描述
PS: 防火墙的服务为iptables CentOS7则是使用 systemctl status firewalld

查看所有服务名基本语法

  • ls -l /etc/init.d/

应用实例: 列出系统目前有哪些服务
在这里插入图片描述

修改服务的运行级别
服务的运行级别包括一下7种:

  • 0: 系统为停机状态,系统的默认运行级别不能设置为0,否则无法正常启动
  • 1: 单用户状态,root权限,用于系统维护.不能远程登录
  • 2: 多用户状态(无NFS)
  • 3: 多用户状态(有NFS),登陆后进入控制台命令行模式
  • 4: 系统保留,未使用
  • 5: 图形化界面模式,登陆后进入图形化界面
  • 6: 系统正常关闭并重启,系统默认运行级别不能设置为6,否则无法正常启动

应用实例: 修改系统默认运行级别为5
在这里插入图片描述
在Linux中每个服务的各个运行级别的是否自启动不同,我们可以设置每个服务的各个运行级别是否开机自启,命令如下 =>图片截自此博文<=:
在这里插入图片描述

动态监控进程的变化

基本语法:

  • top

常用参数:

  • -d 秒数: 指定秒数刷新进程状态,默认为3秒
  • -i : 不显示闲置或者僵死状态的进程
  • -p id: 根据进程id来监控指定进程的状态

交互命令(在top命令执行时,可进行的操作):

  • P: 以cpu使用率进行排序(默认)
  • M: 以内存使用率进行排序
  • N: 以PID进行排序
  • q: 退出top状态
  • u 用户名: 查询指定用户的进程
  • k 进程号: 结束指定进程

数据说明:
在这里插入图片描述

  • top: 14:28:04(系统当前时间), (2:30)系统使用时间, (5 users)用户数量, load average(平均负载),0.58 5.93 20.63(一分钟,五分钟,十五分钟的平均负载)
  • task: 314 total(所有进程数), 1running(运行状态进程数), 313sleeping(休眠状态进程数),0stopped(停止进程数),0zombie(僵死进程数)
  • %Cpu(s): 2.0 us(用户占用cpu比例), 0.6 sy(系统占用), 97.4 id(空闲)
  • KiB Mem: 物理内存使用情况
  • KiB Swap: 虚拟内存使用情况

网络状态监控

基本语法:

  • netstat [参数]

参数说明:

  • -an: 按一定的顺序排列显示
  • -p: 显示哪个进程在待用

应用实例: 查看sshd的服务信息
在这里插入图片描述
PS: 我们可以在Windows中使用 telnet ip 端口 来查询端口是否在监听状态

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值