首页编程wifexited?如果发生中断 wifexited的值是多少

wifexited?如果发生中断 wifexited的值是多少

编程之家2023-11-0298次浏览

这篇文章给大家聊聊关于wifexited,以及如果发生中断 wifexited的值是多少对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

wifexited?如果发生中断 wifexited的值是多少

进程什么状态wifstopped

进程什么状态wifstopped

wait()函数详细解释:

wait(等待子进程中断或结束)

相关函数 waitpid,fork

表头文件

#include

wifexited?如果发生中断 wifexited的值是多少

#include

定义函数 pid_t wait(int* status);

函数说明

wait()会暂时停止目前进程的执行,直到有信号来到或子进程结

束。如果在调用wait()时子进程已经结束,则wait()会立即返

回子进程结束状态值。子进程的结束状态值会由参数status返回,

wifexited?如果发生中断 wifexited的值是多少

而子进程的进程识别码也会一快返回。如果不在意结束状态值,则

参数status可以设成NULL。子进程的结束状态值请参考waitpid()。

返回值

如果执行成功则返回子进程识别码(PID),如果有错误发生则返回

-1。失败原因存于errno中。

附加说明

范例

#include

#include

#include

#include

main()

{

pid_t pid;

int status,i;

if(fork()==0){

printf(“This is the child process.pid=%d\n”,getpid());

exit(5);

}else{

sleep(1);

printf(“This is the parent process,wait for child...\n”;

pid=wait(&status);

i=WEXITSTATUS(status);

printf(“child’s pid=%d.exit status=^d\n”,pid,i);

}

}

执行

This is the child process.pid=1501

This is the parent process.wait for child...

child’s pid=1501,exit status=5

waitpid(等待子进程中断或结束)

相关函数 wait,fork

表头文件

#include

#include

定义函数 pid_t waitpid(pid_t pid,int* status,int options);

函数说明

waitpid()会暂时停止目前进程的执行,直到有信号来到或子进程

结束。如果在调用wait()时子进程已经结束,则wait()会立即

返回子进程结束状态值。子进程的结束状态值会由参数status返回,

而子进程的进程识别码也会一快返回。如果不在意结束状态值,则

参数status可以设成NULL。参数pid为欲等待的子进程识别码,

其他数值意义如下:

pid0等待任何子进程识别码为pid的子进程。

参数option可以为0或下面的OR组合:

WNOHANG如果没有任何已经结束的子进程则马上返回,不予以

等待。

WUNTRACED如果子进程进入暂停执行情况则马上返回,但结束

状态不予以理会。

子进程的结束状态返回后存于status,底下有几个宏可判别结束情

况:

WIFEXITED(status)如果子进程正常结束则为非0值。

WEXITSTATUS(status)取得子进程exit()返回的结束代码,一

般会先用WIFEXITED来判断是否正常结束才能使用此宏。

WIFSIGNALED(status)如果子进程是因为信号而结束则此宏值为

WTERMSIG(status)取得子进程因信号而中止的信号代码,一般

会先用WIFSIGNALED来判断后才使用此宏。

WIFSTOPPED(status)如果子进程处于暂停执行情况则此宏值为

真。一般只有使用WUNTRACED时才会有此情况。

WSTOPSIG(status)取得引发子进程暂停的信号代码,一般会先

用WIFSTOPPED来判断后才使用此宏。

返回值

如果执行成功则返回子进程识别码(PID),如果有错误发生则返回

-1。失败原因存于errno中。

范例

参考wait()。

如果发生中断 wifexited的值是多少

可以获取子进程调传送给exit或用 exit函数参数的低 8位。

1、WEXITSTATUS是返回子进程的退出码,用来判断子进程的退出值。当WIFEXITED(status)这个宏用来指出子进程是否为正常退出的,如果是,它会返回一个非零值。

2、WEXITSTATUS(status)取得子进程exit()返回的结束代码,一般会先用WIFEXITED来判断是否正常结束才能使用此宏。

好了,文章到此结束,希望可以帮助到大家。

商务网站制作公司 网站建设比较好的公司都有哪些企业官网建设,企业网站建设的作用