system返回值校验
int xsystem(const char *cmd)
{
int err;
err = system(cmd);
if (err == -1) {
fprintf(stderr, "%s: ERROR: fork failed before execution: `%s'\n",
__FUNCTION__, cmd);
return -1;
}
if (WIFSIGNALED(err)) {
fprintf(stderr, "%s: ERROR: Child process died due to signal %d: `%s'\n",
__FUNCTION__, WTERMSIG(err), cmd);
return -1;
}
if (WIFEXITED(err)) {
/* Normal child exit */
return WEXITSTATUS(err);
}
fprintf(stderr, "%s: ERROR: Received unintelligible return value from system: %d",
__FUNCTION__, err);
return -1;
}
//WIFEXITED(stat)' 如果子进程正常退出则返回非;`WEXITSTATUS(stat)' 子进程返回的退出码 if (!((ZX_SYS_NO_ERROR != WIFEXITED(nRet)) && (ZX_SYS_NO_ERROR == WEXITSTATUS(nRet))))
{ return -1;
}
测试的返回值为:
WIFEXITED(nRet)[[[1]]]
WEXITSTATUS(nRet)[[[0]]] rolesrv -k 这个命令执行成功的返回值为:0
///////////////////////////////////////////////////////////////////////////////
system返回值描述
-1 创建失败或者程序的退出状态无法获得,也就是fork或者waitpid失败 -----这个可能资源问题或者系统限制导致创建子进程失败。 127 执行程序失败,也就是exec失败------------------------------------执行脚本存在问题,例如程序无权限或者不存在。
当前专家建议:
请检查主机资源是否足够或者线程数超过系统设置最大阀值:
修改后:
返回为-1,请参考返回的系统错误码和错误信息,检查主机设置最大进程数和系统资源是否不足。
返回为127,请检查执行脚本是否存在问题,例如没有权限或者执行程序不存在等
system返回值校验的更多相关文章
- linux c system返回值问题总结
先看例子 #include <stdio.h> #include <stdlib.h> #include <sys/wait.h> #include <sys ...
- python os.system()返回值判断
最近遇到os.system()执行系统命令的情况,上网搜集了一下资料,整理如下,以备不时之需,同时也希望能帮到某些人. 一.python中的 os.system(cmd)的返回值与linux命令返回值 ...
- java自动化测试-json返回值校验
参考: https://blog.csdn.net/xkhgnc_6666/article/details/50250283 实现举例:
- [转]system函数返回值探究
对于system这个函数的功能早就有一定了解,读书期间,就学习了UNIX系统编程这本书,后来买了APUE.我这个人总是有好读书不求甚解的毛病.对于system函数只知其一,不知其二.后来被人问起相关的 ...
- Linux system函数返回值
例: status = system("./test.sh"); 1.先统一两个说法: (1)system返回值:指调用system函数后的返回值,比如上例中status为syst ...
- js或者ext js获取返回值
由于前台业务需要在判断中发起ajax到后台,根据返回值校验是否通过 代码如下 关键点在于要将async关闭 设置成同步,这样才能接收到要返回的flag ...
- SpringMVC 拦截返回值,并自定义
有关取代mvc:annotation-driven使用自定义配置请看: http://blog.csdn.net/cml_blog/article/details/45222431 1.在项目开发中, ...
- 2. Bean Validation声明式校验方法的参数、返回值
你必须非常努力,才能干起来毫不费力.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众 ...
- [Python陷阱]os.system调用shell脚本获取返回值
当前有shell个脚本/tmp/test.sh,内容如下: #!/bin/bashexit 11 使用Python的os.system调用,获取返回值是: >>> ret=os.sy ...
随机推荐
- 【hihoCoder 1513】小Hi的烦恼
http://hihocoder.com/problemset/problem/1513 h[j][i]记录第j个学科排名小于等于i的状态,bitset压位就可以了. #include<bits ...
- 我的OI生涯 第七章 终篇
11.10日. 我们TSOI再次来到了熟悉的燕山大学,只不过这次是真刀真枪的干了. 望着那座熟悉的小桥,身边的好友不知此行过后还有多少. 下午才到,出人意外的是这次没有住燕大宾馆而是选择了熟悉的格林豪 ...
- [CodeForces-513E2]Subarray Cuts
题目大意: 给你一个数列,从中选出k个互不重叠的非空子串,定义s[i]为第i个子串的和,求|s[1]-s[2]|+|s[2]-s[3]|+...+|s[k-1]-s[k]|的最大值. 思路: 考虑将绝 ...
- Problem F: 深入浅出学算法007-统计求和
Description 求含有数字a且不能被a整除的4位整数的个数,并求这些整数的和 Input 多组测试数据,先输入整数T表示组数然后每组输入1个整数a(1<=a<=9) Output ...
- Java字符串池
1. String类的两个构造方法 private final char value[]; private int hash; public String() { this.value = " ...
- 区间DP POJ 1141 Brackets Sequence
Brackets Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 29520 Accepted: 840 ...
- React Native中树 TreeView 实现(2)
接上文,剩下的展示工作是重中之重,首先确定节点的布局草稿——也就是如何render item: 在此之前还有一个重要的问题就是选择何种组件盛放展示子结点,一般有如下两种: 使用scrollview加载 ...
- CentOS 6.9/7通过yum安装指定版本的Node.js
说明:通过yum好处其实很多,环境变量不用配置,配置文件放在大家都熟悉的地方,通过rpm -ql xxx可以知道全部文件的地方等等. Node.js(8.x) 一.安装和配置 1.安装Node.js ...
- CMSIS-SVD Example (Schema Version 1.1)
<?xml version="1.0" encoding="utf-8"?> <!-- File naming: <vendor> ...
- Oracle简单脚本演示样例
Oracle简单脚本演示样例 1.添加表 --改动日期:2014.09.21 --改动人:易小群 --改动内容:新增採购支付情况表 DECLARE VC_STR VARCHAR2( ...