文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux进程学习笔记

Linux进程学习笔记

时间:2010-12-22  来源:cjjnjust

#include <sys/wait.h>
pid_t wait(int *stat_loc);

暂停父进程,直到子进程完成或退出。若stat_loc不为空则将子进程的退出代码或者状态信息保存到上面。下面这些宏解释这个状态信息

WIFEXITED(stat_val)                 如果子进程正常结束,它就取一个非零值
WEXITSTATUS (stat_val)           如果WIFEXITED,则它返回子进程的退出代码
WIFSIGNALED (stat_val)           如果子进程因为未捕获的信号而终止,取一个非零值。
WTERMSIG (stat_val)               如果WIFSIGNALED返回非零,则返回信号代码
WIFSTOPPED(stat_val)              如果子进程意外终止,它就取一个非零值。
WSTOPSIG (stat_val)                如果WIFSTOPPED非零,则取一个信号代码。

子进程结束了,而父进程还没调用到Wait那么子进程就会变成僵尸进程。这个时候如果父进程异常终止,则子进程的PPID就会变成1. Init进程将会接管这个僵尸进程,并最终释放其占有的资源。但是这个过程比较慢,所以应该避免产生僵尸进程。

Pid_t waitpid(pid_t pid, int *stat_loc, int options);

Options 设置成WNOHANG可以查看子进程是否终止。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载