如何通过 posix_spawn 更改子进程的工作目录?

如何通过 posix_spawn 更改子进程的工作目录?

在Linux(CentOS 7.5,内核3.10,gcc 7.3)中,是否可以更改由以下命令创建的子进程的工作目录posix_spawn在运行给定的进程映像(可执行文件)之前?如果是,怎么办?如果不是,最好的做法是什么?

答案1

posix_spawn()作为函数集的一部分,无法做到这一点。

redhat 正在发起是否应该添加这样的功能的持续讨论。如果这一点被接受,它可能会在下一个版本中成为 POSIX 的一部分 - 这可能需要 2-3 年。

BTW:posix_spawn()是在其之上实现的vfork()/exec(),只要您不喜欢在vfork()支持下实现 POSIX shell, vfork()/exec()它就非常容易使用。

相关内容