linux C 语言的 system是用来在程序中执行shell命令。

使用方法

#include<stdlib.h> //函数形式 int system(const char * string);

函数说明
system() 会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。
返回值
如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1。若参数string为空指针(NULL),则返回非零值。如果 system()调用成功则最后会返回执行shell命令后的返回值,但是此返回值也有可能为system()调用/bin/sh失败所返回的127,因此最好能再检查errno 来确认执行成功。
附加说明
在编写具有SUID/SGID权限的程序时请勿使用system(),system()会继承环境变量,通过环境变量可能会造成系统安全的问题。
范例

#include<stdlib.h> main() { system(“ls -al /etc/passwd /etc/shadow”); }

linux C 语言的 system相关推荐

  1. c语言 linux system,【Linux + C语言】话说,你真的了解system接口的调用吗?

    废话很少说,相信你确定也在system接口上填过坑!先上一把它的正确操做:linux #include #include #define Debuging(fmt, arg...) printf(fm ...

  2. 吴章金: 实例解析 Linux C 语言程序之变量类型

    license: "cc-by-nc-nd-4.0" "本文从编译.二进制程序文件和运行角度逐级解析了 Linux C 语言程序中几种变量类型" 吴章金老师&l ...

  3. linux C语言access()函数(检查用户对文件的权限)(判断文件是否存在)

    文章目录 man 2 access 20220601 不知道上面所说的pathname的符号链接取消引用是什么意思 man 2 access ACCESS(2) Linux Programmer's ...

  4. linux C语言 常用函数(系统调用等) 持续更新

    文章目录 系统调用是什么 Linux C语言 文件部分系统调用 1.open()打开文件 2.close()关闭文件 3.mkdir()创建目录 4.access()判断路径是否存在 5.fcntl( ...

  5. 《全面掌握Linux C语言嵌入式系统移植教程》学习笔记(Liunx速查简明)

    全面掌握Linux C语言嵌入式系统移植教程学习笔记(Liunx速查简明) 笔记前言: P3: shell命令简明 P4: vi /vim编辑器入门 P5:vi /vim编辑器扩展 P8: gcc编译 ...

  6. 在 Ubuntu 上通过命令行改变 Linux 系统语言

    这是一个快速教程,展示了在 Ubuntu 和其他 Linux 发行版上从命令行改变语言的步骤. 事实上,我一直在写西班牙语的文章.如果你没有访问过它并且/或你是一个讲西班牙语的人,请访问 It's F ...

  7. Linux C语言调用C++动态链接库

    Linux C语言调用C++动态链接库 标签: C调用C++库 2014-03-10 22:56 3744人阅读 评论(0) 收藏 举报 分类: [Linux应用开发](48) 版权声明:本文为博主原 ...

  8. linux C语言多线程库pthread中条件变量的正确用法逐步详解

    linux C语言多线程库pthread中条件变量的正确用法: 了解pthread常用多线程API和pthread互斥锁,但是对条件变量完全不知道或者不完全了解的人群. 关于条件变量的典型应用,可以参 ...

  9. 嵌入式linux寄存器位运算,嵌入式linux C语言(一)――位运算的使用

    嵌入式linux C语言(一)――位运算的使用 ARM是内存与IO统一编址,SoC中有很多控制寄存器,通过对这些寄存器进行位运算对这些控制寄存器进行设置,进而控制外设功能.在修改寄存器某些位的过程中不 ...

最新文章

  1. WIN2008系统的IIS7.0配置REWRITE伪静态环境
  2. (五)WebRTC手记Channel概念
  3. 博客会暂时停止一段时间
  4. dell跳过开机硬件检测_移动工作站DELL Precision 7740评测连载2:开机初测
  5. 核心频率个加速频率_流处理器、核心频率、 位宽……这些显卡参数你知道吗?—— 电脑硬件科普篇(八)...
  6. java collection源码_jdk源码阅读Collection实例分析
  7. 利用python进行数据分析——使用groupby机制对pandas对象类的数据进行聚合与分组操作
  8. 宏正ATEN推出ALTUSEN全系列IP-Based远程机房管理方案
  9. 在后台增加一个查询条件
  10. 【BZOJ4566】[Haoi2016]找相同字符 后缀数组+单调栈
  11. 政务信息系统整合共享实施方案
  12. 第一、二章 引论、算法分析
  13. android像素密度转厘米,Android 屏幕适配-像素密度适配
  14. python绘制地图地图cartopy_python Cartopy的基础使用详解
  15. 有一天我们可不可以这样相爱……
  16. 44.android 简单的白天与夜晚模式切换
  17. 字节跳动蚂蚁金服百度SRE社招面经
  18. Arabic(阿拉伯语)显示
  19. Linux集中日志服务器rsyslog
  20. HTML+CSS实现导航条

热门文章

  1. 苏州FreeNAS+ESXi5数据恢复案例
  2. Javascript - demo 与 捷径
  3. 传输层协议TCP和UDP
  4. Javascript备忘复习笔记2
  5. lwip 2.0.3 DNS 域名解析 使用
  6. NAT网关自动去掉TCP syn包的时间戳
  7. 《深入解析Android 虚拟机》——导读
  8. MYSQL 10038 服务启动不起来
  9. Puppet 部署tomcat
  10. Scala Package Package Objects