使用rcservice启动Python脚本

2024-05-08 19:56:24 发布

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

我试图让rc-service在启动时启动一个Python脚本(Alpine Linux)。我做了一个简单的例子只是为了让事情顺利进行,但没有运气

我已将local添加到default运行级别,并且我在/etc/local.d/中有两个文件-均由root拥有:

one_api.start

#!/sbin/openrc-run
command=one_api.py

one_api.py

#!/usr/bin/python3

import uvicorn
from fastapi import FastAPI


app = FastAPI()


@app.get('/')
async def get_root():
    return {'message':'hello, world!'}


if __name__ == '__main__':
    uvicorn.run('one_api:app', host='127.0.0.1', port=8000, log_level='info')

当我试图开始local时,我得到了* Starting local ... [!!]。我在/var/log/中查找了一个日志,但是rc-service没有将日志写入该位置,我在其他任何地方都找不到它。如果我手动运行Python脚本,它可以正常工作

尝试自行启动服务也不起作用:

$ sudo ./one_api.start start
 * Starting one_api.start ...
Segmentation fault
 * Failed to start one_api.start       [ !! ]
 * ERROR: one_api.start failed to start

Tags: runpyimport脚本apiappgetlocal