【问题标题】:How to run a process in the Background with C without exec如何在没有 exec 的情况下使用 C 在后台运行进程
【发布时间】:2021-02-21 19:27:18
【问题描述】:

大家好,我目前正在用 c 创建一个 shell,它可以在后台执行命令,同时允许用户在前台继续执行命令。就像在 Lniux 中一样。但是,我不想让后台进程在主机 shell 上运行,我希望它运行我制作的 shell。所以我知道我不能使用 execl 函数来做到这一点。有谁知道我需要什么样的功能来做到这一点?我知道我需要创建一个 fork 来创建子进程和父进程。完成后,我将在子进程中执行后台命令,而不是在父进程中调用 wait。但是我不知道是否有我需要在后台执行的功能。

感谢您的帮助!

【问题讨论】:

    标签: c shell background fork


    【解决方案1】:

    您需要的函数称为exec...几乎所有其他执行其他函数的函数都是execve 系统调用的包装器,之前可能还加上了fork。但是在 Linux 中除了exec 家族之外,没有其他功能可以execute 另一个程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-28
      • 2010-12-21
      • 2015-01-18
      • 1970-01-01
      • 2022-01-09
      相关资源
      最近更新 更多