Linux基础篇:操作系统进程的基本概念与进程管理基础操作

Linux基础篇:操作系统进程的基本概念与进程管理基础操作

进程的定义:

进程是计算机系统中正在运行的程序的实例。

每个进程都有自己的内存空间、执行状态、资源和上下文。

进程是操作系统进行资源分配和调度的基本单位。

进程描述:

每个进程都由一个称为进程描述符的数据结构来表示。

进程描述符包含有关进程的信息,例如进程ID(PID)、父进程ID、状态、优先级、打开的文件、内存映射等。

进程描述符在操作系统内核中维护,用于跟踪和管理进程。

进程状态转换:

进程可以处于不同的状态,例如运行、等待、停止等。

状态之间的转换由操作系统内核管理。

1.ps命令

ps 命令用于显示当前系统中的进程状态。它可以列出正在运行的进程及其相关信息,如进程 ID(PID)、用户、CPU 使用率、内存使用率等。ps 命令有许多选项,可以用来定制输出的格式和内容。

以下是一些常用选项:

  • a:显示终端上的所有进程。
  • u:显示进程的详细用户信息。
  • x:显示没有控制终端的进程。
  • e:显示环境变量。
  • f:显示进程的层次结构。
  • l:显示长格式的输出。
  • o:自定义输出格式。

1.1常用搭配 ps -aux

只截取一部分,可以查看到进程的所属用户、pid、cpu使用量、内存使用量、状态等信息

1.2常用搭配 ps -ef

2 kill命令

kill 命令用于向进程发送信号,通常用于终止进程。要使用 kill 命令,需要知道进程的 PID。例如,kill 12345 会向 PID 为 12345 的进程发送一个默认的 TERM 信号,请求进程终止。你还可以使用不同的信号,如 kill -9 12345 会向进程发送一个 KILL 信号,强制进程立即终止。

以下是一些常用选项:

  • 1:SIGHUP,通常用于重新初始化进程。
  • 2:SIGINT,通常用于中断进程。
  • 9:SIGKILL,用于强制终止进程。
  • 15:SIGTERM,用于请求进程终止。

2.1 使用kill 终止进程

一般会先获取进程的pid号,就是使用上面讲到的ps命令,比如说我们现在要终止ssh进程,可以这样做,首先使用ps命令获取ssh进程号

这里查到ssh服务的进程号是1028,然后使用kill命令终止进程

再次查看ssh进程,显示已经不在了。

3 jobs命令

jobs 命令用于列出当前终端中的作业(job)。作业是指与当前终端会话关联的进程。jobs 命令会显示每个作业的状态(如正在运行、已停止等)、作业号和命令。例如,输入 jobs 会列出当前终端中的所有作业及其状态。

  • l:显示作业的 PID。
  • n:仅显示自上次通知后发生状态变化的作业。
  • p:仅显示作业的 PID。
  • r:仅显示正在运行的作业。
  • s:仅显示已停止的作业。

3.1 启动一个ping任务,然后按Crtl-z停止,用于测试jobs命令

显示作业的 PID

仅显示作业的 PID

仅显示已停止的作业

这些命令在 Linux 系统中非常有用,可以帮助你管理和控制进程。通过熟练掌握这些命令,你可以更有效地在 Linux 系统中执行任务。

希望这些信息对您有所帮助!如果有不对的地方请不吝赐教,欢迎在评论区留言,发表你的看法。

相关推荐
墨染 殇雪5 分钟前
webshell及冰蝎双击无法打开?
运维·服务器·webshell·webshell管理工具
R-G-B14 分钟前
Linux常见命令总结 合集二:基本命令、目录操作命令、文件操作命令、压缩文件操作、查找命令、权限命令、其他命令
linux·基本命令·目录操作命令·linux常见命令·压缩文件操作·权限命令·查找命令
Chukai12315 分钟前
Windows 和 Linux 系统下修改防火墙机制开放端口
linux·运维·windows
FL16238631291 小时前
[ubuntu][C++]onnxruntime安装cpu版本后测试代码
linux·c++·ubuntu
逻辑羊驼1 小时前
VSCode+MobaXterm+X11可视化界面本地显示
运维·服务器·ubuntu·3d
fendouweiqian1 小时前
nginx 反向代理使用变量的坑
运维·nginx
Zacks_xdc1 小时前
【前端】使用Vercel部署前端项目,api转发到后端服务器
运维·服务器·前端·安全·react.js
W-GEO1 小时前
Nginx 高性能调优指南:从配置到原理
运维·nginx
pound1272 小时前
Linux
linux·运维·服务器
@CLoudbays_Martin112 小时前
为什么动态视频业务内容不可以被CDN静态缓存?
java·运维·服务器·javascript·网络·python·php