C - exec 执行带有参数的命令?

标签 c command exec

我正在尝试运行一个简单的 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/

相关文章:

c - 如何在 Pascal/Delphi 中调用以下 C 函数?

c - DPDK创建一个数据包进行传输

C 语言,段错误(已创建核心转储)

unix - 如何使 unix 命令使用多个 CPU

python - 不确定如何修复此 Cmd 命令错误?

php - 如何使用 PHP exec (linux) 启动后台进程?

php - 使用 system( ) 甚至 passthru( ) 从 php 运行 python 脚本不会产生任何输出。为什么?

c - 使用mpi.h,如何使用mpi.h的MPI_Altoallv为每个处理器发送超过4个整数?

c# - 如何在c#中执行命令?

java - 使用 sh.Command 从 python 调用 Java 时执行格式错误