我正在尝试运行一个简单的 C 程序,该程序执行带有一些参数的命令:
ls -l -a -i
我搜索了有关 exec
的信息家人,但不明白所有的不同exec
调用以及使用哪一个。
我的程序是:
int main(int argc, char **argv)
{
const char *cmd = "ls";
const char *args[3];
args[0] = "-l";
args[1] = "-a";
args[2] = "-i";
execv(cmd, args); /* this line does not work */
return 0;
}
我以为execv
调用方式为:
-
char *cmd
作为命令 -
char *args[]
作为参数
但是我在所有不同的组合和尝试中都会遇到错误。
最佳答案
这里是一段有效的代码,您应该将其用作成功完成任务的引用:
char* arr[] = {"ls", "-l", "-a", "-i", NULL};
execv("/bin/ls", arr);
关于C - exec 执行带有参数的命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50209456/