linux进程学习笔记

复制代码
学习了linux下的进程,觉得应该整理一下,忘得差不多了,顺便回顾一下。 

学而时习之,不亦说乎~~ 

进程笔记 
1,什么是进程?  


    The Single UNIX Specification, Version 2 (UNIX98) and its predecessor Version 1 (UNIX95),  

defines a process as “an address spacewith one or more threads executing within that address  

space, and the required system resources for those threads.”  



2,进程ID,PID 
3,进程描述符,控制块 
4,进程的堆栈  
我们知道,Linux执行进程有两种模式:用户模式(User Mode)和内核模式(Kernel Mode),在这两个模式下的进程对应着两个不同的堆栈:用户堆栈(User Mode Stack)和内核堆栈(Kernel Mode Stack 或称为系统堆栈)。当进程由于中断或系统调用而陷入内核模式时,其堆栈也对应地由用户堆栈切换到内核堆栈,反之亦然。 


5,进程描述符的存储 
6,创建新进程 
7,运行新程序 
8,进程状态 
9,进程调度 
10,进程控制和常用操作 
    退出/终止进程 
    暂停进程 
    进程跟踪 
    等待子进程结束 
11,进程间通信 
    pipe管道 
    named pipe (FIFO)命名管道  
    signal 信号 
    message queue消息队列 
    shared memory共享内存 
    socket 
    semaphore信号量 

12.进程要点总结 

    main的调用 内核(调用exec)->启动例程->获取命令行参数 exit(main(argc,argv)) 

  _exit和_Exit,_Exit立即进入内核  exit则是先执行一些清理处理,然后进入内核 

  exit(state)state为进程的终止状态 ,若main无返回值则,进程的终止状态是未定义的。 


  获取环境变量用 getenv和putenv函数 

  行缓冲方式(换行)和完全缓冲方式(标准i/0清理操作) 
复制代码

 

posted on   zyz913614263  阅读(186)  评论(0编辑  收藏  举报

编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· Ai满嘴顺口溜,想考研?浪费我几个小时
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示