linux常用命令2

进程管理

  • 进程概念:进程是已启动的可执行程序运行中的实例
  • 进程的组成::已分配内存地址空间;安全属性(所有权凭据和特权);程序代码 (一个或多个执行线程);进程状态
  • 进程的环境:本地和全局变量;当前调度上下文;分配的系统资源(如文件描 述符合、网络端口)
  • 父进程与子进程:运行一个新进程时,通过共享上一级进程的地址空间、资源、属性等内容来创建 的。这个过程就称为 fork,上一级进程称为父进程,当前进程称为子进程。 PID是子进程标识符(每个进程都有唯一的进程ID),父进程是PPID。
  • 进程状态: 运行 、睡眠(S、D、K、I)、停止(T、T)、僵停(Z、X)
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EjV8wXA4-1626427072014)(C:\Users\Lenovo\Desktop\学习\笔记\Linux\process_status)]
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dLRM5Cca-1626427072016)(C:\Users\Lenovo\Desktop\学习\笔记\Linux\process_status1)]
  • top 命令 查看进程状态
  • 列出进程 ps 提供详细进程信息
  • ps [aux] [las] [-ef]
    • 用户识别符 UID 它确定进程的特权
    • 唯一进程识别符 PID
    • CPU 和已经花费的实时时间
    • 进程在各种位置上分配
    • 进程stdout的位置,称为控制终端
  • **ps 仅显示一次,如需重复更新进程显示使用 top 命令(动态查看) **
  • pstree 可以采用树形格式显示,来查看父/子进程关系

控制作业

  • 进程组:协同工作的一个或多个进程就是一个进程组,通常与作业关联。 通过进程组,可以对多个进程进行统一的管理。所有进程都属于某个进程组,每个进程 组都有一个组长进程,相应的 PID 就是进程组的进程组 ID
  • 作业 jobs :在命令行上执行一个命令的时候,就会变成一个作业。一个作业可能是一个 进程,也可能是多个进程。作业和进程组相似,主要区别在于作业中某个进程创建的子 进程(fork)不属于作业,属于进程组
  • 会话 session : 会话是一个或多个进程组的集合。一个会 话可以有一个控制终端。建立与控制终端连接的会话首进 程被称为控制进程(一般 bash 就是控制进程)
  • ps -j 显示和作业相关的信息
    • PID:进程ID;
    • PPID:父进程ID;
    • PGID:进程组首进程PID;
    • SID:会话首进程的PID,一般是shell本身
    • PGID和SID通常都是一样的
  • <command> & 在后台运行作业
  • sleep 1000 & **在后台运行sleep作业
  • jobs 查看当前会话的作业信息,-l 可以选项查看进程 ID
  • “+”代表默认作业;同时区分作业号和进程 ID
  • 作业的前后台切换
    • fg 作业号 切换后台作业到前台
    • Ctrl + z 切换后台作业至前台,同时进入stopped状态
  • 开启及终止作业
  • bg 作业号 开启后台stopped的进程
  • Ctrl + c 终止进程
  • ps j 显示与作业相关的信息 PID是进程的唯一进程ID

终端进程

  • 使用信号控制进程
    • 基本进程管理信号

在这里插入图片描述

  • 信号的默认操作

  • 在这里插入图片描述

  • w 列出用户登录和当前运行的教程

  • 中断进程
    • kill命令
    • kill -l **可以查看kill命令可以向进程发送的命令
    • kill -9 杀死进程相对于SIGTER而言,不友好
    • kill -18 继续停止的进程
    • kill -19 停止进程
    • killall 批量杀死进程,例 killall -19 sleep
    • pkill命令
    • 在这里插入图片描述
    • pill 命令杀死所有pts/1 终端的进程
    • 在这里插入图片描述

监控进程活动

  • 负载平均值
  • 概念: 一段时间内感知的系统负载,用来粗略衡量待处理的系统资请求数量,并确定系统负载是随时间增加还是减少
  • 包括了准备运行的进程数(R),以及等待磁盘或网络I/O完成的进程数(D)
  • uptime 命令
  • top命令
  • 查看CPU的情况

控制服务和守护进程(290)

  • systemd
  • 概念:在 Linux 7 之后,使用 systemd 作为系统第一个启动的进程。系统启动和服务器进程由 systemd 系统和服务管理器进行管理
  • 守护进程是在执行各种任务时后台等待或运行的进程,名称多以字母“d”结尾。守护进 程主要使用套接字与本地或远程客户端进行通信
  • systemd优点:
    • 并行化功能,更快的启动速度
    • 按需启动守护进程,而不需要单独的服务
    • 自动服务依赖关系管理,可以防止长时间超时,例如在网络不可用时不启动网络服务
  • system 使用单元来管理不同类型的对象
    • 服务单元 .services:代表系统服务,用于启动经常访问的守护进程,如 Web 服务器
    • 套接字单元 .socket:用于进程间的通信、网络通信等,可以延迟系统启动的服务或者启 动不常用的服务
    • 路径单元 .path : 用于服务激活推迟到文件系统更改发生之后
    • sytemctl 命令 用于管理单元
    • e.g systemctl -t help 命令 显示可用的单元类型
  • 列出服务单元
    • systemctl list-units --type=service 所有当前加载的服务单元
    • – type=service 选项将单元类型限制为服务单元
    • systemctl list-units 命令输出的列
      • unit 服务单元的名称
      • LOAD:systemd 是否正确解析了单元的配置并加载到内存中
      • ACTICE:单元的高级别激活状态,可以判断单元是否启动
      • SUB:低级别激活状态,指示了更详细的单元信息。
      • DECSRIPITIOM:单元的简短描述
    • 使用 --all选项可以列出所有单元,不仅仅是service单元
    • 可以使用| less 以页的形式查看
    • 使用–state= 选项可以按照LOAD、 ACTIVE 等字段中的值进行筛选
    • 列出服务单元 systemctl list-unit-files [–type=service]
    • 一些安装单位启用的服务通过 list-units 无法显示,她只会显示加载到内存里面的单元, 如果要查看所有已安装的文件状态就要使用 list-unit-files。
  • 验证服务状态
    • systemctl is-XXX service
    • is-active 是否活动状态,active/inactive
    • is-enabled 是否系统引导时启动,enabled/disabled
    • is-failed 是否启动失败,active/failed 表示正常或失败,unknown/inactive 表示单元被停止

控制系统服务

  • 控制系统服务

    • 控制运行中系统守护进程
    • 更改配置文件或者对服务进行其他更新后可能需要重新启动该服务
    • 可能需要停止不再使用的服务后,才能删除相关的软件
    • 不常用的服务可以在需要时由管理员手动启动停止
    • systemctl 对某个服务执行某个操作
    • start 启动
    • stop——停止;
    • status——查看服务状态;
    • restart——重启服务;
    • reload— —重新加载服务;
    • reload-or-restart——首先重新加载。
  • 列出单元依赖项

    • 单元依赖项:某项服务可能以其他服务作为依赖项的形式启动。

    • 示例:服务 B 依赖于服务 A。如果服务 B 启动时,服务 A 是关闭状态,将同时 启动服务A。而在停止服务 B 的时候也需要停止服务 A

    • systemctl list-dependencies sshd.service 列出sshd服务依赖项

    • systemctl list-dependencies --reverse sshd.service 列出sshd服务反依赖项

  • 屏蔽/取消屏蔽服务

    • 系统中不同的服务之间可能彼此冲突,例如不同虚拟化软件之间可能就会有这个 问题。屏蔽服务就可以防止系统启动或者管理员意外启动这个服务。设置屏蔽服 务时,实际上是为这个服务创建一个指向 /dev/null 的配置目录,从而阻止它启 动
    • systemctl mask 屏蔽某项服务
    • systemctl umask #取消屏蔽某项服务
    • systemctl list-unit-files --type=service | grep #查看被屏蔽的服务
    • 屏蔽服务≠禁用服务。禁用服务指设置系统引导时不会启动,但是可以手动启动服 务,或者由其他单元来启动,而屏蔽服务则不可以
  • 设置服务开机自启动

    • 系统启动时,会通过 /usr/lib/system/system 目录中寻找文件,从而启动服务。 通过在该目录下创建一个符号链接即可将某个服务添加到开机自启动的服务清单中
    • systemctl enable 设置服务开机自启动
    • systemctl disable 禁用服务开机自启动

此冲突,例如不同虚拟化软件之间可能就会有这个 问题。屏蔽服务就可以防止系统启动或者管理员意外启动这个服务。设置屏蔽服 务时,实际上是为这个服务创建一个指向 /dev/null 的配置目录,从而阻止它启 动**

  • systemctl mask 屏蔽某项服务

  • systemctl umask #取消屏蔽某项服务

  • systemctl list-unit-files --type=service | grep #查看被屏蔽的服务

  • 屏蔽服务≠禁用服务。禁用服务指设置系统引导时不会启动,但是可以手动启动服 务,或者由其他单元来启动,而屏蔽服务则不可以

  • 设置服务开机自启动

    • 系统启动时,会通过 /usr/lib/system/system 目录中寻找文件,从而启动服务。 通过在该目录下创建一个符号链接即可将某个服务添加到开机自启动的服务清单中
    • systemctl enable 设置服务开机自启动
    • systemctl disable 禁用服务开机自启动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值