kangda/start.sh
2025-05-30 11:40:27 +08:00

31 lines
710 B
Bash

#!/bin/bash
# 参数检查
if [ $# -ne 3 ]; then
echo "用法: $0 <项目目录> <虚拟环境路径> <主程序文件名>"
exit 1
fi
project_dir="$1"
venv_path="$2"
main_script="$3"
log_file="${project_dir}/service.log" # 日志文件路径
pid_file="${project_dir}/service.pid" # PID文件路径
# 进入项目目录
cd "$project_dir" || {
echo "错误: 无法进入目录 $project_dir"
exit 1
}
# 激活虚拟环境
source "${venv_path}/bin/activate" || {
echo "错误: 无法激活虚拟环境"
exit 1
}
# 后台启动服务并记录PID
nohup python "$main_script" > "$log_file" 2>&1 &
echo $! > "$pid_file"
echo "服务已启动! PID: $(cat "$pid_file"), 日志: $log_file"