进程环境 - UNIX环境高级编程-第7章

7.3 进程终止

(1) 有三种函数用于正常终止一个程序:——exit和_Exit立即进入内核,exit则先执行一些清除处理(包括调用执行各终止处理程序,关闭所有标准IO流),然后进入内核

        历史上若main函数终止时没有显示使用return语句或调用exit函数,那么进程的终止状态时未定义的 

void exit(int status);
void _Exit(int status);
void _exit(int status);

(2) atexit()函数

int atexit(void (*func)(void));		返回值:成功0,出错返回非0值
        ISOC规定,一个进程最多可以登记32个函数,这些函数将由exit自动调用,这些函数称为中止处理函数(exit handler)

        exit注册终止函数,exit调用这些函数的顺序与它们登记的顺序相反,同一个函数登记多次,也会被调用多次。


7.5 环境表

每个程序都会接收到一张环境表,extern char **environ;

 

7.6 C程序的存储空间布局

一般分为正文段、初始化数据段、非初始化数据段、栈、堆


7.8 存储器分配

void *malloc(size_t size);
void *calloc(size_t nobj, size_t size);
void *realloc(void *ptr, seze_t newsize);		//返回值:成功返回非空指针,出错返回NULL
void free(void *ptr);
7.11 getrlimit和setrlimit函数

int getrlimit(int resource, struct rlimit *rlptr);
int setrlimit(int resource, const struct rlimit *rlptr);	//两个函数返回值:成功0,出错非0值


每个进程都有一组资源限制,可以用这两个函数来进行查看和更改。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值