Python wsgi OSError:[Errno 10]没有子进程

时间:2014-05-28 13:56:57

标签: python linux mod-wsgi wsgi

我有一个python wsgi脚本试图调用生成openssl脚本。使用subprocess.check_call(args),流程会抛出OSError [Errno 10] no child processes

opensll bin的所有者是root:root。这可能是问题吗?或者apache不允许子进程吗?

仅使用subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)似乎工作正常,我只想等待并确保流程完成后再继续。

communicate()wait()都失败并出现同样的错误。

在wsgi之外运行代码可以正常工作。

这是python 2.6顺便说一句。

1 个答案:

答案 0 :(得分:1)

  1. OSError [Errno 10] no child processes可能意味着程序已经运行,但占用了太多内存并且已经死亡。

  2. 在Apache中启动作业很好。以root身份运行有点粗略,但并不是什么大不了的事。请注意,' root'帐户设置(例如PATH)可能与您的帐户不同。这可以解释为什么它从shell运行而不是从Apache运行。

  3. 在程序中记录当前目录。如果脚本需要某个位置的某个模块,那么这将导致奇怪的问题。还有' root'往往没有"当前目录" (即:"。")在sys.path上。