【问题标题】:Get exit code from non-child process从非子进程获取退出代码
【发布时间】:2014-09-30 20:29:46
【问题描述】:

我正在研究如何从非子进程中获取退出代码。

众所周知,很少有函数可以处理子进程,例如 wait/waitpid。使用此功能,我们可以等到子进程关闭并获取退出错误代码。但这仅适用于子进程。

实际上,我正在寻找 GetExitCodeProcess 的 Windows 类似物。在 Windows 中,我们可以通过调用 OpenProcess 打开进程,然后直接使用返回的句柄。所以我们可以调用GetExitCodeProcess函数并检索状态。

在 Linux 中使用 非子 进程是否有相同之处?

【问题讨论】:

  • @JohnSmith - 这个问题是关于使用 fork + exec 实现的 system() 调用,这意味着该进程是一个子进程。 OP 正在询问由另一个父进程启动的非子进程。

标签: c++ linux windows process


【解决方案1】:

据我所知,没有 POSIX 或其他标准 UNIX/Linux 调用来执行您要求的操作,但您可以使用 procfs 在 Linux(或其他 UNIX)上完成它。 procfs 对许多非标准扩展进行了创新。

如果父母还没有等待孩子,返回码可能还在。

见: Linux, where are the return codes stored of system daemons and other processes?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-17
    • 2010-12-06
    • 2017-04-08
    • 2013-04-18
    • 2020-06-20
    • 1970-01-01
    • 2020-01-04
    相关资源
    最近更新 更多