system函数,WIFEXITED和WEXITSTATUS

system函数,WIFEXITED和WEXITSTATUS1,在程序中,用exit来设置进程的退出值时,虽然该函数的参数类型为int型,但再父进程中只能取到其值的低8位.所以用exit返回值时,高于255的值是没有意义的.2,对于system函数,返回值是由两部分组成的,低8位值表示所执行的脚本在执行过程中所接收到的信号值,其余的位表示的脚本exit退出时所设置的值,即脚本内exit退出是的值的低8位,在system返回值的低9-1

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1,在程序中,用exit来设置进程的退出值时,虽然该函数的参数类型为int型,但再父进程中只能取到其值的低8位.所以用exit返回值时,高于255的值是没有意义的.

2,对于system函数,返回值是由两部分组成的,低8位值表示所执行的脚本在执行过程中所接收到的信号值,其余的位表示的脚本exit退出时所设置的值,

即脚本内exit退出是的值的低8位,在system返回值的低9-16位.

原文:http://zhangwenxin82.blog.163.com/blog/static/1145959562010323103241387/

包含文件
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
先写一个被调用的函数
==================================
#include <iostream>
int main()
{

printf(“Return 10.\n”);
return 10;
}
==================================
编译后生成一个”rt”的可执行文件
运行结果
==================================
Return 10.
==================================
再写一个调用system的程序
==================================
#include <stdio.h>;
#include <stdlib.h>;
#include <sys/wait.h>;
#include <sys/types.h>;

int main()
{

pid_t status ;

int errno = 0 ;
status = system(“./rt”) ;

printf(“wifexited(status):%d\n”,WIFEXITED(status));
printf(“WEXITSTATUS(status):%d\n”,WEXITSTATUS(status));
if (status == -1)
printf(“system error!”) ;

if (WIFEXITED(status)){

printf(“cp exit normal![%d]\n”, errno) ;
printf(“exit staus = [%X]\n”, WEXITSTATUS(status)) ;
}else
printf(“cp exit illegal![%d]\n”, errno) ;
}
~
[tiantao@probe sys_test]$ cat sys_test.cpp
#include <stdio.h>;
#include <stdlib.h>;
#include <sys/wait.h>;
#include <sys/types.h>;

int main()
{

pid_t status ;

int errno = 0 ;
status = system(“./rt”) ;

printf(“wifexited(status):%d\n”,WIFEXITED(status));
printf(“WEXITSTATUS(status):%d\n”,WEXITSTATUS(status));
if (status == -1)
printf(“system error!”) ;

if (WIFEXITED(status)){

printf(“cp exit normal![%d]\n”, errno) ;
printf(“exit staus = [%X]\n”, WEXITSTATUS(status)) ;
}else
printf(“cp exit illegal![%d]\n”, errno) ;
}

==================================
编译后运行结果
==================================
Return 10.
wifexited(status):1
WEXITSTATUS(status):10
cp exit normal![0]
exit staus = [A]
==================================
可以看到:
WEXITSTATUS(status)可以得到调用程序的返回值。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227268.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 俞敏洪 绝望中寻找希望_新东方俞敏洪哭了

    俞敏洪 绝望中寻找希望_新东方俞敏洪哭了                                新东方俞敏洪:从绝望中寻找希望                         http://www.sina.com.cn  2008年08月23日 10:25  华夏时报 .moduleSingleImg01img{border:1pxsolid#D1E3F4} –>

    2022年9月12日
    0
  • alt复制选区就会卡 ps_ps复制选区快捷键是什么

    alt复制选区就会卡 ps_ps复制选区快捷键是什么大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。ps复制选区快捷键:1、新选区:Ctrl+点击。2、添加到选区:Ctrl+Shift+点击。3、从选区中减去:Ctrl+Alt+点击。4、与选区交叉:Ctrl+Shift+Alt+点击。5、使用ps创建一个选区后按Ctrl+J就会复制ps选区。AdobePhotoshop是AdobeSystems开发和发行的图像处理软件,主…

    2022年6月29日
    21
  • dba_users表或视图不存在_oracle数据库视图创建

    dba_users表或视图不存在_oracle数据库视图创建检查是否删除或者锁定无关帐号注意事项及影响:确认无关账号非业务使用即可,无影响 ADMIN,ORACLE,TEST,DBUSER,确认这些数据库用户已经不再使用 序号 操作内容 操作步骤 责任人 时间 1 登陆数据库 S…

    2022年9月25日
    0
  • DruidDataSource配置属性列表

    DruidDataSource配置属性列表

    2021年8月30日
    58
  • java微信自动回复机器人开发(java微信开发学习笔记3)「建议收藏」

    java微信自动回复机器人开发(java微信开发学习笔记3)「建议收藏」微信自动回复机器人原理很简单,获取用户发送到后台的数据,然后调用机器人的api进行回复即可。我使用的茉莉机器人,官网地址如下:http://www.itpk.cn/茉莉机器人的api:http://www.itpk.cn/robot.php接口比较简单,看看就会,我直接上源代码下面代码同样基于之前的微博,需要的可以去看一下:http://blog.csdn.net/zxxz520

    2022年9月27日
    0
  • 分类模型的f1值大概是多少_准确率召回率f1分数

    分类模型的f1值大概是多少_准确率召回率f1分数欢迎您对PaddleHub提出建议,非常感谢您对PaddleHub的贡献!目前PaddleHub已实现您提出的需求,请安装PaddleHub>=1.7.0,PaddlePaddle>=1.8.0快速体验。请您在定义task任务时增加metrics_choices=[‘f1’]选项,即可实现多分类F1Score评估指标,示例如下:task=hub.ImageClassifierT…

    2022年10月14日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号