#include int system(const char * cmdstring)

{

pid_t pid;

int status;

if(cmdstring == null){

return (1);

}

if((pid = fork())<0){

status = -1;

}

else if(pid = 0){

execl("/bin/sh", "sh", "-c", cmdstring, (char *)0);

-exit(127); //子进程正常执行则不会执行此语句

}

else

{

while(waitpid(pid, &status, 0) < 0){

if(errno != einter)

{

status = -1;

break;

}

}

}

return status;

}

那么如何获得system的返回值呢??

char buf[10];

char * ps="ps -ef|grep -c root";

file *ptr;

int i;

if((ptr = popen(ps, "r")) != null)

{

fgets(buf, 10 , ptr);

i = atoi(buf);

pclose(ptr);

}

可以man下waitpid查看下如何检查status的值

int ret = system("ls -al /etc/passwd /etc/shadow");

if(wifsignaled(ret))

具体的这些宏查看man waitpid

c语言 poll,c语言 linux 中 poll 的参数相关推荐

  1. linux中du命令参数的用法,linux中du命令参数及df命令和dd命令介绍

    本文详细介绍了linux中du命令参数及df命令和dd命令的使用方法,并对之进行了举例说明. linux中df命令参数 linux中df命令参数功能:检查文件系统的磁盘空间占用情况.可以利用该命令来获 ...

  2. linux poll 作用,Linux中poll机制的理解

    首先分析下应用程序的执行过程: int main(int argc, char **argv) { int fd; unsigned char key_val; int ret; struct pol ...

  3. bazel 链接第三方动态库_C语言学习篇(31)——linux中制作动态链接库

    引言 前面我们讲解了什么是函数库(函数库就是一些事先写好的函数集合),函数库有什么作用(可以打包我们的编写的源代码,供他人使用,同时源码不可见,保护了自己的知识产权)以及函数库有2种提供方式:静态链接 ...

  4. linux poll函数 实现,Linux select/poll/epoll 原理(一)实现基础

    本序列涉及的 Linux 源码都是基于 linux-4.14.143 . 1. 文件抽象 与 poll 操作 1.1 文件抽象 在 Linux 内核里,文件是一个抽象,设备是个文件,网络套接字也是个文 ...

  5. Linux中ifcfg-eth0配置参数解释

    Linux中设置IP地址经常使用到ifcfg-eth0这个文件.  vi /etc/sysconfig/network-scripts/ifcfg-eth0 附录文件中的内容: DEVICE=eth0 ...

  6. linux中 tar 报参数列表过长,四种解决”Argument list too long”参数列表过长的办法...

    在linux中删除大量文件时,直接用rm会出现:-bash: /bin/rm: 参数列表过长,的错误. 这时可以用find命令来结合使用. 例: 1.rm * -rf 改为: find . -name ...

  7. 如何查看Linux中的内存参数?

    平时工作中也会查看一些系统的内存指标,但对一些参数的具体含义不太清楚,这里记录下常见参数的含义. 平时我们看的比较多的可能是通过top命令显示的内存指标 上面的图中和程序内存相关的列主要是三列: VI ...

  8. c 语言 宏 可变 参数,C语言 如何在宏定义中使用可变参数

    有一个记录日志的函数,想用宏定义进行包装,简化调用方法,但是xlc报如下的错误:void _log(const int level, char* file, int line, const char* ...

  9. Linux中高斯分布的参数设置,华为openGauss 配置操作系统参数

    openGauss要求各主机上的操作系统参数设置成一定的值,以满足系统运行的性能要求等. 这些参数有些会在openGauss安装环境准备阶段完成设置,且这些参数将直接影响openGauss的运行状态, ...

最新文章

  1. Node 10 新功能概览(译)
  2. 这是一个我面试某公司的算法题目:对一个字符数组进行排序,根据给定的字符,大于它的,放在数组的左边,小于它的,放在数组的右边,且数组中的元素之间的相对位置要保持不变。...
  3. 强化学习《基于策略 - on plolicy - off plolicy》
  4. php 使用fseek指针读取大文件日志
  5. Android 5.0 开发者官方网站疏理知识结构
  6. nginx学习.第一部分
  7. 抖音最近流行的爱心代码(C语言版)
  8. 计算机文化与社会发展
  9. kettle 读xml无法获得属性信息,输出表修改不能自动更新修改办法
  10. r语言 rgl 强制过程中_R语言中编写最小工作示例(MWRE)
  11. VMware虚拟机安装ubuntu后无法复制文件的解决办法
  12. python中复数表达形式_在Python中实现复数比较?
  13. UVA1616 Caravan Robbers
  14. Android-PickerView系列之封装篇(三)
  15. 软件测试流程有哪些?
  16. vue-pdf使用+分页预览(踩坑 + 使用本地字体库)
  17. 木棍上的蚂蚁jolj2466 模拟法
  18. 博弈优化实例:网络节点最小覆盖问题
  19. mysql 存储时间应该是时间戳还是时间_3分钟短文 | MySQL存时间,到底该用timestamp还是datetime?...
  20. appium自动化之对手机按键的操作

热门文章

  1. 简单工厂(Simple Factory)模式
  2. MVC简单介绍(转)
  3. MySQL用函数统计记录总数_在mysql中使用COUNT 或者SUM函数计算记录总数
  4. 管理端口_内网渗透 | 红蓝对抗:Windows利用WinRM实现端口复用打造隐蔽后门
  5. 微课|中学生可以这样学Python(2.3.3节):reduce()函数
  6. Python计算任意单调曲线在给定区间上的近似长度
  7. 几行Python代码打造自己的磁盘垃圾文件清理器
  8. 思科网络基础课件_网络自动化认证,你选对了吗?
  9. 尤克里里怎么样_尤克里里入门简单教程
  10. r语言提取列名_玩转数据处理120题之P1-P20(R语言tidyverse版本)