请问一个C语言的问题。谢谢

woshirenyi 2004-05-08 08:13:18
我在LINUX下写了个SHELL,我想用C的程序执行它,请问用什么函数,请说具体点,我刚学,谢谢了!!!
...全文
12 7 点赞 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
gaoxianfeng 2004-05-09
man 里面的一个
warning: untested code!
int my_system (const char *command) {
int pid, status;

if (command == 0)
return 1;
pid = fork();
if (pid == -1)
return -1;
if (pid == 0) {
char *argv[4];
argv[0] = "sh";
argv[1] = "-c";
argv[2] = command;
argv[3] = 0;
execve("/bin/sh", argv, environ);
exit(127);
}
do {
if (waitpid(pid, &status, 0) == -1) {
if (errno != EINTR)
return -1;
} else
return status;
} while(1);
}
  • 打赏
  • 举报
回复
tukey 2004-05-09
system
  • 打赏
  • 举报
回复
shocklp 2004-05-09
system就可以,
如果你还想用shell的屏幕输出,还可以用popen来处理。
不光可以执行shell,还可以得到shell执行的输出结果。
  • 打赏
  • 举报
回复
cancer001 2004-05-09
execl等系列函数就可以!
  • 打赏
  • 举报
回复
wangjinhu 2004-05-09
system
execl
  • 打赏
  • 举报
回复
blh 2004-05-08
system
execl
  • 打赏
  • 举报
回复
tyffly 2004-05-08
system
  • 打赏
  • 举报
回复
相关推荐
发帖
Linux/Unix社区
加入

2.1w+

社区成员

Linux/Unix社区 应用程序开发区
申请成为版主
帖子事件
创建了帖子
2004-05-08 08:13
社区公告
暂无公告