【Linux C】进程环境
来源:互联网 发布:分治算法时间复杂度 编辑:程序博客网 时间:2024/06/05 15:34
1. 程序加载的简单过程:
a) 读取目标文件头部信息,找出需要多少地址空间。
b) 分配地址空间,如果有独立段,则讲地址空间按独立划分。
c) 程序读入地址空间段。
d) 程序末尾的bss空间填充为零。
e) 创建堆栈段。
f) 设置程序参数环境变量等信息。
g) 开始运行程序。
2. 进程退出3种方式:进程资源退出(return、exit)、进程收到信号退出、异常操作退出。
3. Linux环境下最多可以设置32个进程终止处理函数。进程终止处理函数按照设置顺序的相反顺序执行。
4. 代码段是进程的指令部分,是只读的。
5. 数据段存储给定初值的全局变量和静态变量。程序运行过程中,该段大小不变。
6. 堆栈段存储自动变量,以及函数调用时需要保存的信息(返回地址、调用前各寄存器现场)。
7. 堆用于存储用户申请空间。系统在堆中进行动态分配内存。
8. 简单常量随着指令一起存储在代码段。复杂常量存储在.rodata段,其首地址作为简单变量存储,避免代码段过大。
9. 新进程执行时,命令行参数和环境变量是从父进程获得,命令行参数作为main函数参数获得,环境变量作为全局变量获得。
10. 命令行参数的第一个是程序的路径名。
11. 命令行参数表和环境变量表都是指针数组。
12. Getenv()函数得到一个环境变量。Putenv()设置一个环境变量,setenv()环境变量赋值。Unsetenv()删除环境变量。
13. $?为shell内置变量,表示最近一次运行进程的返回值。当程序从main函数结束,$?为main函数返回值。若调用exit则为exit的返回值。若异常退出则为异常出错的错误号。
14. Errno全局变量调试出错信息。
15. Longjmp,setjmp借助操作系统实现程序的全局跳转。
- 【Linux C】进程环境
- linux c打印进程环境表
- linux环境C开发系列4-进程
- 【Linux C王者归来】【第十章】【进程环境】
- Linux 进程环境
- Linux环境编程--进程
- Linux之进程环境
- 关于Linux进程环境
- Linux 进程环境
- linux 进程环境
- Linux进程环境
- Linux-进程环境
- Linux的进程环境
- linux c 创建进程
- linux c 进程控制
- linux c 守护进程
- 【Linux C】进程控制
- linux c 守护进程
- Linux中如何让进程在后台运行
- 用C实现WebService 资料引用:http://www.knowsky.com/394291.html
- python实现UDP通信
- Java线程池Executors
- 146 - ID Codes
- 【Linux C】进程环境
- c# web开发中IIS配置问题
- HTTP 协议详解
- MysqlReport解析
- 也曾因合文档而蛋疼过吗
- Choosing the right Collection
- An attempt was made to authenticate the locked user "tomcat"
- Java编程中尽可能要做到的一些地方
- Code Fragment-使用继承封装技术层次