首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
系统相关
> 详细
进程控制(十二)---system函数
时间:
2016-10-01 19:37:09
阅读:
241
评论:
0
收藏:
0
[点我收藏+]
标签:
system函数是用来在进程中执行 shell 命令的。注意其实 exec 族函数其实也可以用来在进程中执行 shell 命令,但是这两个函数实现执行 shell 命令的原理是完全不同的。
system函数相当于是 fork->exec->wait 这样的一个过程,也就是说system函数会调用fork函数来创建一个子进程,然后在子进程中去执行 shell命令,不影响父进程的执行。
而直接利用 exec 族函数来执行 shell命令是将 shell命令的代码段、数据段直接覆盖掉本进程原来的代码段、数据段,原来进程中的代码将永远不会被执行。
=======================================================
下面给出system函数实现的一段源代码:
从这段代码可以看出system函数各种出错时候的返回值:
当传入的参数为NULL时,返回 1
当fork调用失败时,返回 -1
当execl调用失败时,也就是说shell命令不能执行的时候,返回 127
当 waitpid 函数被信号中断时,返回-1
当正常执行shell命令时,返回shell命令本身退出的状态
进程控制(十二)---system函数
标签:
原文地址:http://www.cnblogs.com/frank-yxs/p/5926059.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
gitlab 在linux安装环境下存储地址
2021-07-29
当 Mac 未检测到外部显示器时如何修复它
2021-07-29
Ubuntu18.04安装qemu遇到问题-qemu : Depends: qemu-system (>= 1:2.11+dfsg-1ubuntu7)
2021-07-28
[Linux]Shell编程【待续】
2021-07-28
Linux系统资源查看
2021-07-27
Archlinux爬坑指南
2021-07-27
[Linux]Linux发展历程
2021-07-27
非桌面系统 (ubuntu)安装google-chrome
2021-07-27
在Ubuntu18.04系统中源码安装 gcc7.3.0
2021-07-23
Linux快捷键杂记
2021-07-22
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!