在 Ubuntu Server 上,我编写了一个 c++ 程序,该程序启动了另一个 python 进程。c++ 进程在启动时运行良好,但 python 进程从未启动。它被创建,当我运行“top”时,我可以看到两个进程都在运行,但在显示 python 的进程旁边,它显示 python defunct。我在 /etc/init.d 中创建了启动脚本并更新了 rc.d。我还需要做什么才能让它看到 python 应用程序吗?
答案1
如果该进程在进程列表中,则表示该进程正在启动,但如果该进程切换为“defunct”,则表示该进程正在终止(进程列表中徘徊是因为您没有调用 wait() 进行清理)。尝试单独运行 python 脚本以查看失败的原因(如果命令行上没有明显的错误,则几乎肯定是环境或搜索路径问题,您可以通过将 shell 环境设置为与 init 脚本的环境相匹配来模拟该问题)。