0

我正在尝试编写一个将在启动时启动的 python 守护程序。该脚本的目标是从我们的 gearman 负载平衡服务器接收作业并完成该作业。我正在使用 pypi ( http://pypi.python.org/pypi/python-daemon/ ) 中的 python-daemon 模块。它正在完成的工作的性质是将 orf(奥林巴斯原始图像格式)的图像转换为 jpeg。为了实现这一点,使用了一个外部程序,在这种情况下是 ufraw。当我在启动时启动守护程序时,问题就出现了,如果我从 shell 启动它会完美运行并完成工作。当它在引导时启动时,它无法启动 subprocess 命令。

commandString = '/usr/bin/ufraw-batch --interpolation=four-color --wb=camera --compression=100 --output="' + outfile + '" --out-type=jpg  --overwrite "' + infile + '"'
args = shlex.split(commandString)
process = subprocess.Popen(args).wait()

我不确定我做错了什么。谢谢你的帮助。

4

1 回答 1

0

该问题与 python 无关,而是与 ubuntu init.d 守护进程有关。我假设 python 脚本是作为用户的,但事实并非如此。为了解决这个问题,我在 init.d 脚本中添加了一个 sudo 命令,并且子进程现在成功启动。

于 2010-03-22T14:02:15.570 回答