Linux c/c++之进程基础

简介: 这篇文章主要介绍了Linux下C/C++进程的基本概念、组成、模式、运行和状态,以及如何使用系统调用创建和管理进程。
  • 进程的定义
  1. 运行中的程序(必须是运行之中的程序)
  2. 不在运行之中的程序只能被称为可执行的程序文件
  3. 进程是操作系统资源调度的基本单位
  4. 线程是操作系统调度的基本单位
  5. 内存的最小单位 比特位(bit)
  6. 内存的最小管理单位 字节(byte)

资源: 内存 fd(文件描述符) cpu时间片 等等...

  • 进程的组成
  1. 数据: 全局变量 静态变量(已初始化,未初始化) 只读变量
  2. 代码: 进程的源代码
  3. 堆栈: 普通变量 动态申请的内存

数据,代码,堆栈均由进程管理

  • 进程的模式

用户模式: 应用程序正在运行

内核模式: 调用系统调用 系统中断

  • 进程的运行

    ps -aue命令(显示进程信息)

top命令(实时展现进程的动态信息)

创建一个进程源代码并手动执行:

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int main(){
    int n = 0;
    while(1){
        printf("开始打印进程id:\n");
        printf("pid: %d : %d",getpid(),n++);
        sleep(1);
    }
    return 0;
}

运行结果:

kill命令

kill 2 进程id 干掉进程(2为信号)

  • 进程的状态

运行 睡眠 挂起 等待 死亡 僵尸状态等...

  • 多个进程运行时的轮循机制

当多个进程同时运行时,操作系统将CPU资源采用分时分片从而处理各个进程,因为运算速率较快,故而使用电脑时感受不到进程之间的切换

相关文章
|
11天前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
34 1
|
6天前
|
SQL 运维 监控
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
|
14天前
|
运维 监控 Linux
Linux操作系统的守护进程与服务管理深度剖析####
本文作为一篇技术性文章,旨在深入探讨Linux操作系统中守护进程与服务管理的机制、工具及实践策略。不同于传统的摘要概述,本文将以“守护进程的生命周期”为核心线索,串联起Linux服务管理的各个方面,从守护进程的定义与特性出发,逐步深入到Systemd的工作原理、服务单元文件编写、服务状态管理以及故障排查技巧,为读者呈现一幅Linux服务管理的全景图。 ####
|
1月前
|
缓存 监控 Linux
linux进程管理万字详解!!!
本文档介绍了Linux系统中进程管理、系统负载监控、内存监控和磁盘监控的基本概念和常用命令。主要内容包括: 1. **进程管理**: - **进程介绍**:程序与进程的关系、进程的生命周期、查看进程号和父进程号的方法。 - **进程监控命令**:`ps`、`pstree`、`pidof`、`top`、`htop`、`lsof`等命令的使用方法和案例。 - **进程管理命令**:控制信号、`kill`、`pkill`、`killall`、前台和后台运行、`screen`、`nohup`等命令的使用方法和案例。
131 4
linux进程管理万字详解!!!
|
20天前
|
缓存 算法 Linux
Linux内核的心脏:深入理解进程调度器
本文探讨了Linux操作系统中至关重要的组成部分——进程调度器。通过分析其工作原理、调度算法以及在不同场景下的表现,揭示它是如何高效管理CPU资源,确保系统响应性和公平性的。本文旨在为读者提供一个清晰的视图,了解在多任务环境下,Linux是如何智能地分配处理器时间给各个进程的。
|
1月前
|
存储 运维 监控
深入Linux基础:文件系统与进程管理详解
深入Linux基础:文件系统与进程管理详解
70 8
|
27天前
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
55 1
|
27天前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
1月前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
70 4
|
1月前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####