使用runi时如何设置python路径

2024-10-03 17:28:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用runit来管理ubuntu12.04上的一个进程。运行时,日志中出现以下错误:

sv up test/

我假设这是一个python路径问题。在

^{pr2}$

我还在/etc/environment中设置了路径,也在.bashrc中设置了路径。在

下面是我的runit脚本。在

#!/bin/sh
exec 2>&1
exec export PYTHONPATH=$PYTHONPATH:/home/ubuntu/workspace/htFrontEnd/heythat
exec export PYTHONPATH=$PYTHONPATH:/home/ubuntu/workspace/htFrontEnd/heythat/htanalytics
exec /usr/bin/python /home/ubuntu/workspace/htFrontEnd/htanalytics/ht_rpc_server.py >> /tmp/ht_rpc_server.log 2>&1
root@aws-rpc-server-east-staging-20130203070552:/etc/sv# 

当我从命令行运行这个过程时,我没有遇到任何问题,它可以工作。在

/usr/bin/python /home/ubuntu/workspace/htFrontEnd/heythat/htanalytics/ht_rpc_server.py

为什么runit不起作用?为什么它找不到路?在


Tags: 路径homebinserverubunturpcworkspaceexec
1条回答
网友
1楼 · 发布于 2024-10-03 17:28:16

看起来这个脚本有一些潜在的问题。我不认为“导出”可以是“执行”的,至少,在我的伯恩版本中它失败了。exec命令用被调用的命令替换当前进程(脚本),除非调用的命令失败,否则不会返回。所以,无论如何“执行”出口是没有意义的。它们也可以折叠成一行。所以,你的脚本应该看起来更像这样:

#!/bin/sh
export PYTHONPATH=$PYTHONPATH:/home/ubuntu/workspace/htFrontEnd/heythat:/home/ubuntu/workspace/htFrontEnd/heythat/htanalytics
exec /usr/bin/python /home/ubuntu/workspace/htFrontEnd/htanalytics/ht_rpc_server.py >> /tmp/ht_rpc_server.log 2>&1

相关问题 更多 >