linux 如何调用可执行程序

zxcvbnmasd 2010-02-24 05:25:12
是否都必须在shell下调用?
...全文
177 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxcvbnmasd 2010-02-26
  • 打赏
  • 举报
回复
我看的是system的源码,呵呵,被它忽悠了,exec系列确实与shell没有必然联系.
wence 2010-02-26
  • 打赏
  • 举报
回复
fork复制了整个父进程的地址空间,fork结束后,子进程就完全是父进程的复制品。然后exec解除子进程原来的地址空间,把本身的程序加载进子进程的地址空间中去。
zxcvbnmasd 2010-02-25
  • 打赏
  • 举报
回复
引用 5 楼 guosha 的回复:
exec系列跟shell没有任何关系,
shell是一个程序,exec系列是一些系统API,
引用 4 楼 zxcvbnmasd 的回复:引用 2 楼 hittlle 的回复:exec系列,system, popen exec系列是否也最终调用了shell?至少我看到execl是这样的。



  比如我要在某个进程下执行另外一可执行程序,先fork出某子进程,然后在子进程中调用execl(xx),貌似execl的机理是用shell进程代替了fork出的子进程(保留pid),然后shell进程fork出子进程执行要调用的可执行程序。

  请高手指点.
InfidelX 2010-02-25
  • 打赏
  • 举报
回复
#include <stdlib>
system("command");
快乐田伯光 2010-02-25
  • 打赏
  • 举报
回复
execl(xxx)是直接用xx替换了子进程,跟shell没有关系
引用 7 楼 zxcvbnmasd 的回复:
引用 5 楼 guosha 的回复:exec系列跟shell没有任何关系, shell是一个程序,exec系列是一些系统API,引用 4 楼 zxcvbnmasd 的回复:引用 2 楼 hittlle 的回复:exec系列,system, popen exec系列是否也最终调用了shell?至少我看到execl是这样的。


  比如我要在某个进程下执行另外一可执行程序,先fork出某子进程,然后在子进程中调用execl(xx),貌似execl的机理是用shell进程代替了fork出的子进程(保留pid),然后shell进程fork出子进程执行要调用的可执行程序。

  请高手指点.
zxcvbnmasd 2010-02-25
  • 打赏
  • 举报
回复
csdn加了回复内容长度限制了?顶上去!
x-teamer团队 2010-02-24
  • 打赏
  • 举报
回复
微微顶之, 内容太短, 再微微顶之,内容差不多了
快乐田伯光 2010-02-24
  • 打赏
  • 举报
回复
exec系列跟shell没有任何关系,
shell是一个程序,exec系列是一些系统API,
引用 4 楼 zxcvbnmasd 的回复:
引用 2 楼 hittlle 的回复:exec系列,system, popen

exec系列是否也最终调用了shell?至少我看到execl是这样的。
zxcvbnmasd 2010-02-24
  • 打赏
  • 举报
回复
引用 2 楼 hittlle 的回复:
exec系列,system, popen


exec系列是否也最终调用了shell?至少我看到execl是这样的。
KimenWu 2010-02-24
  • 打赏
  • 举报
回复
大家都说了,俺就不说了,只顶一下
hittlle 2010-02-24
  • 打赏
  • 举报
回复
exec系列,system, popen
wukong000 2010-02-24
  • 打赏
  • 举报
回复
system函数、、

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧