常见进程控制函数记录

进程控制函数记录

//建立一个新的进程:
pid_t fork( void);
    /*
返回值:
大于 0 的数,此时就是父进程
等于 0 的数,此时就是子进程
小于 0 的数,表示调用失败
    */


//以异常方式结束进程:
void abort(void);

//若测试的条件不成立则终止进程:异常断言
void assert(intexpression);

//正常结束进程:
void exit(int status);
//结束进程执行:
void _exit(int status);
//设置程序正常结束前调用的函数:
int atexit(void (*func)(void));
//设置程序正常结束前调用的函数:
int on_exit(void (* function)(int,void*),void *arg);

//保存目前堆栈环境:
int setjmp(jmp_buf environment);
//jmp_buf 存储的是寄存器信息
//保存目前堆栈环境:
int sigsetjmp(sigjmp_buf env, int savemask);
//上下文:堆栈、当前寄存器、当前的状态(线程,进程)、下一条指令的位置、栈内存地址
//跳转到原先 setjmp保存的堆栈环境:
void longjmp(jmp_buf environment, int value);
//改变进程优先顺序:跳转到原先 sigsetjmp 保存的堆栈环境
void siglongjmp(sigjmp_buf env, int val);


<sys/types.h>
<sys/wait.h>
//等待子进程的状态
int wait(int *status);
//一般来讲是和 fork 配套使用
//等待子进程中断或结束:
pid_t waitpid(pid_t pid,int * status,int options);
/*
options:
WNOHANG 非阻塞
WUNTRACED 被调试
WCONTINUED 发生了信号导致进程暂停 SIGSTOP SIGPAUSE SIGCONT
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@马云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值