【问题标题】:Using linux commands in C source code在 C 源代码中使用 linux 命令
【发布时间】:2021-07-14 14:01:35
【问题描述】:

我想在 C 源代码中使用 Linux 命令。

我可以使用System() 功能吗?这在 Linux 上可行吗?

如果我不能使用 System() 函数,我该怎么办?我想“tar xvf example.tar”。

【问题讨论】:

  • 是的,您可以使用system()、popen() 或fork()/exec() 命令。

标签: c linux


【解决方案1】:

您可以使用system() 和exec() 函数

【讨论】:

    【解决方案2】:

    如果你只想执行shell命令而不寻找任何返回值,那么你可以使用system()函数调用。

    不建议使用系统调用(参见系统手册页)。我建议您使用 exec(),它应该在执行 fork() 之后在子进程中调用。

    下一个替代方法是使用 popen()。

        piff = (FILE *)popen("ls -l", "r");
        if (piff == (FILE *)0)
                return (-1);
        while ((i = read(fileno(piff), buff, sizeof (buf))) == -1) {
        if (errno != EINTR) {
            break;
        }
        (void)pclose(piff);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多