c - 如何使用fork按特定顺序执行系统命令

标签 c linux fork

我有一个数组,其中包含一系列系统命令,我需要按特定顺序执行这些命令,并等到每个命令完成后才进入下一个,顺序是从叶到根确定的一棵二叉树。我已经阅读了几天有关此内容并进行了多个小时的实验,但仍然没有半可行的代码片段。

  1. 我不明白如何创建多个可以创建更多子项和/或执行命令的子项。

  2. 我也不明白如何向 children 传递信息。

  3. 它不必使用 fork(),我只需要帮助获取一棵在叶子开始时具有执行优先级的树。

我的所有数据都存储在一个 3 维数组中,我需要运行的执行字符串存储在 acquire[i][1] for 7>=i>=0

最佳答案

没有代码或二叉树,我只能猜测。

如果我是你,我会搜索二叉树以查找系统命令。 每次我找到一个命令时,我都会 fork() 和 [子进程中的 execve] + [父进程中的 waitpid]。

如果您在二叉树中搜索正确的顺序,那么您的系统命令也将以正确的顺序执行。

这看起来适合你吗?

关于c - 如何使用fork按特定顺序执行系统命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35455766/

相关文章:

有人可以告诉我使用 fork() 系统调用的程序有什么问题吗(编程 C)

c - 如何使用正则表达式匹配 C 函数原型(prototype)和变量定义?

c - 对 ncurses 库中函数的 undefined reference

c - C 中的指针和递归函数

c - 尝试打开非常大的文件时打开命令出现段错误

c++ - 共享库 (c/c++) 中的 pstack。损坏的共享库

c++ - 子进程中的内存泄漏怎么办

C忽略 "if"指令

linux - 与 Docker 共享设备(网络摄像头、USB 驱动器等)

c - fork + wait 在 OSX 上获取 EINTR