C使用exec系统函数,调用“ls-l”

360U3122478527 |浏览1231次
收藏|2019/03/15 15:06

满意回答

2019/03/15 15:26

你这部分程序看不出有什么问题但问题是你的程序不完整1.#include "exec.h"你的exec.h是什么(它不是系统的,是自己定义的)2.你的程序少了主函数main,所以它不是一个完整的C程序

whoami1978

其他回答(1)
  • 那照你这么说,在unix的环境中,只定义了/bin/sh,难道系统运行的时候,就只能执行shell,C程序就不能执行了吗?如果你用shell调用了一个ls的命令,但是ls是个可执行程序,难道这个shell就不能执行了?execl("/bin/sh", "sh", "-c", cmdstring, (char*)0)的确是调用了一个shell命令,但是没说shell命令就不能执行C程序了。比如你在命令行下敲了一个C程序,为什么能执行呢?请深刻理解unix的程序调用。
    回答于 2019/03/15 15:57
0人关注该问题
+1

 加载中...