gpt4 book ai didi

python fabric 如何在远程机器上启动进程

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:42 24 4
gpt4 key购买 nike

全部 我正在使用 fabric 来部署我的 python 作业。 python 项目包含这样一个名为“run_fetchserver.sh”的 shell 来控制进程的启动/停止。

fetch_path=$PROJECT_PATH
if [ $1 = start ]
then
psid=`ps aux | grep "fetch_server" | grep -v "grep" | wc -l`
if [ $psid -gt 1 ]
then
echo "fetchserver is running!"
exit 0
else
pushd $fetch_path
nohup python fetch_server.py >>start_fetchserver.log 2>&1 &
popd
echo "Start fetchserver service [OK]"
fi
elif [ $1 = stop ];then
pkill -f "fetch_server.py"
echo "Stop fetch service [OK]"
elif [ $1 = restart ];then
pkill -f "fetch_server.py"
pushd $fetch_path
nohup python fetch_server.py >>start_fetchserver.log 2>&1 &
popd
echo "Restart fetchserver service [OK]"
else
echo "Usages: sh fetchserver server.sh [start|stop|restart]"
fi

这个脚本在本地运行良好,但是当我用 fabric 命令调用它时 run('./run_fetchserver.sh 重启')作业根本没有在远程机器上启动。为什么?

最佳答案

问题终于解决了。

我只更改了我的 fabfile.py 中的一行:

来自

run('./run_fetchserver.sh restart') 

run('./run_fetchserver.sh restart', pty=False)

因此程序在远程机器上成功启动。

关于python fabric 如何在远程机器上启动进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33992523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com