Linux 进程管理完全指南
Linux 进程管理完全指南在 Linux 系统中进程Process是操作系统进行资源分配和调度的基本单位。无论是后台运行的服务还是前台执行的命令本质上都是进程。掌握进程管理是深入理解 Linux 系统的必经之路。本文将围绕进程的核心概念、生命周期、查看与控制以及信号机制进行系统性讲解。一、 进程基础概念1. 进程是什么简单来说进程是正在执行中的程序。当我们在终端输入一个命令或运行一个脚本时操作系统会为其分配内存、CPU 时间片等资源此时这个程序就从一个静态的代码文件变成了一个动态的进程。每个进程在系统中都有唯一的标识符称为PIDProcess ID。此外每个进程通常还有一个父进程标识符PPIDParent Process ID用于追踪进程的创建来源。2. 进程的产生fork在 Linux 中进程的创建主要通过fork()系统调用实现。复制机制当一个进程调用fork()时操作系统会创建一个几乎完全相同的子进程。子进程会继承父进程的大部分属性如代码段、数据段、打开的文件等。写时复制Copy-on-Write为了优化性能Linux 并不会立即为子进程复制所有的内存页而是让父子进程共享。只有当其中一方尝试修改数据时系统才会真正复制对应的内存页。返回值fork()在父进程中返回子进程的 PID在子进程中返回 0若失败则返回 -1。二、 进程状态Linux 进程在其生命周期中会经历多种状态可以通过ps命令的STAT列查看。常见的状态标识如下R (Running)运行状态。进程正在 CPU 上执行或在运行队列中等待执行。S (Interruptible Sleep)可中断睡眠。进程正在等待某个事件完成如 I/O 操作可以被信号唤醒。D (Uninterruptible Sleep)不可中断睡眠。通常与底层硬件 I/O 有关此时进程无法被信号唤醒或杀死。Z (Zombie)僵尸进程。进程已终止但其父进程尚未调用wait()回收其资源。T (Stopped)暂停状态。进程收到SIGSTOP等信号后被挂起可通过SIGCONT恢复。三、 查看进程ps 命令psProcess Status是查看进程快照最常用的工具。常用参数组合ps aux显示系统中所有进程的详细信息。a显示所有用户的进程。u显示进程所属用户及 CPU/内存占用。x显示没有控制终端的进程如后台服务。ps -ef以标准格式显示所有进程包含完整的 PPID 信息。结合过滤使用通常我们会结合grep来查找特定进程psaux|grepnginx四、 进程控制jobsjobs命令用于管理当前终端会话下的后台作业它与ps查看系统级进程不同仅作用于当前 Shell。常用操作将进程放入后台在命令末尾加例如sleep 100 。暂停前台进程按下Ctrl Z。查看后台作业jobs -l显示 PID 及状态。将后台作业调至前台fg %11 为作业号。让暂停的作业在后台继续bg %1。五、 给进程发信号信号Signal是 Linux 中进程间通信的一种异步机制用于通知进程某个事件的发生。1. 信号介绍常见信号包括SIGINT (2)中断信号等同于键盘按下Ctrl C。SIGKILL (9)强制杀死进程进程无法捕获或忽略此信号。SIGTERM (15)正常终止信号允许进程在退出前进行清理工作默认信号。SIGHUP (1)挂起信号常用于让服务重新加载配置文件。2. kill 命令kill命令通过 PID 向进程发送信号# 发送默认的 SIGTERM 信号kill1234# 强制杀死进程kill-91234# 发送 SIGHUP 让 Nginx 重载配置kill-HUP12343. pkill 和 pgrep 命令当不知道 PID但知道进程名时这两个命令非常实用pgrep按名称查找进程并返回 PID。pgrep nginxpkill按名称直接发送信号。pkill-9nginx六、 用户与登录信息查询在管理进程时了解当前系统的用户和登录状态同样重要。whoami显示当前有效用户名。who显示当前已登录系统的用户列表及其终端信息。w功能比who更强不仅显示登录用户还会显示每个用户的负载、正在执行的命令以及空闲时间。last读取/var/log/wtmp文件显示系统历史登录和重启记录是安全审计的重要工具。总结Linux 进程管理是系统运维和开发的核心技能。从理解fork的复制机制到熟练使用ps和jobs监控进程再到通过kill和信号机制精准控制进程行为这些知识构成了我们驾驭 Linux 系统的基石。建议在实际环境中多加练习将理论转化为肌肉记忆。

相关新闻

C++进程间通信实战:从管道到共享内存的性能选型与避坑指南

C++进程间通信实战:从管道到共享内存的性能选型与避坑指南

1. 项目概述:为什么我们需要高性能进程间通信?在开发一个复杂的C应用时,尤其是涉及到模块化、微服务架构或者需要利用多核CPU优势的场景,单进程模型很快就会遇到瓶颈。比如,一个实时数据处理系统,数据采集模…

2026/10/12 1:44:27 阅读更多 →
6个案例,带你从零搞定 LangChain + DeepSeek

6个案例,带你从零搞定 LangChain + DeepSeek

💬 写在前面:你是不是也踩过这些坑? 大模型火了,你肯定也被安利过无数次: 🤯 "GPT 能写代码了!" —— 然后呢?怎么把它用到自己的业务里? 📚 教程…

2026/10/4 11:34:15 阅读更多 →
Transformer 初学避坑指南:7 个 90% 新手都会踩的坑

Transformer 初学避坑指南:7 个 90% 新手都会踩的坑

前言相信很多同学第一次看 Transformer 论文时,都是这种状态:"每个字都认识,连起来就不知道在说啥了……" "Q、K、V 到底啥关系?为啥要分成三个矩阵?" "代码跑通了,但原理还是一知…

2026/9/26 4:10:31 阅读更多 →

最新新闻

考虑产销者的分布式储能容量配置:Matlab MILP建模与实战

考虑产销者的分布式储能容量配置:Matlab MILP建模与实战

做分布式储能项目,绕不开“容量配置”这道坎。尤其当服务对象是产销者(Prosumer)——就是自己屋顶有光伏、同时本身又在用电的用户或园区——这个问题会比单纯削峰填谷复杂不少:光伏出力、负荷波动、分时电价、储能投资成本、电池…

2026/10/14 5:39:15 阅读更多 →
Shell编程实战指南:从命令到自动化运维脚本

Shell编程实战指南:从命令到自动化运维脚本

先说说我对方才那个标题的直观感受。很多新手翻Linux的书,前面几章讲命令,后面几章忽然就跳到Shell脚本,中间衔接得很生硬,学完还是不知道Shell编程到底解决什么问题。我自己刚工作时也踩过这个坎:命令背了不少&#x…

2026/10/14 5:39:15 阅读更多 →
基于粒子群算法的分布式储能容量配置策略及Matlab实现

基于粒子群算法的分布式储能容量配置策略及Matlab实现

搞过分布式储能容量规划的人大概都有同感:真正让人头疼的不是光伏板选多大、电池买什么品牌,而是当用户变成了“产销者”(prosumer,既用电又发电),储能的容量到底该怎么配。最近我做了一个“考虑产销者的分…

2026/10/14 5:39:15 阅读更多 →
三体科幻社区管理系统:SpringBoot+Vue毕设实战解析

三体科幻社区管理系统:SpringBoot+Vue毕设实战解析

每年这个时候,总会有不少同学私信我同一个问题:Java毕设到底选什么题?既要能体现技术栈、有完整闭环,又不想太“烂大街”到答辩时抬不起头。如果你也在纠结这类问题,那“基于SpringBootVue的三体科幻社区管理系统”这个…

2026/10/14 5:39:15 阅读更多 →
区域微电网多阶段鲁棒调度:Matlab实现与CCG算法全解析

区域微电网多阶段鲁棒调度:Matlab实现与CCG算法全解析

做微电网调度的人,大概率都经历过这种场景:日前把机组启停和储能充放电计划排得明明白白,结果第二天一阵云遮住光伏,或者风突然掉下去,整个计划就得推倒重来;更麻烦的是,如果备用留得不够&#…

2026/10/14 5:39:15 阅读更多 →
Claude Code接入DeepSeek完整教程:从安装配置到实战排错

Claude Code接入DeepSeek完整教程:从安装配置到实战排错

年初我折腾过一段时间的命令行AI编程助手,最后把我的Claude Code跑到了DeepSeek的模型上,从安装到配通花了不到半小时,后面连续几周写脚本、改代码都在用它。这篇东西就是当时的完整记录:Claude Code是什么、为什么能和DeepSeek组…

2026/10/14 5:38:15 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →