执行py3o的重启脚本(包含手动执行,以及自动执行的脚本)
自动执行脚本代码:
如果py3o的打印出现问题,可以直接执行/opt/lyt下的 restart-py3o-only.sh这个文件。即可重启服务。环境已经配置好了。一般情况下出现的问题是缺少java的环境。直接安装就可以了
#!/bin/bash # 脚本用于仅重启 LibreOffice 守护进程以重启 py3o 服务 # 1. 停止 LibreOffice 守护进程 echo "正在停止 LibreOffice 守护进程..." pkill -f "soffice.*--headless" sleep 2 # 等待进程完全停止 # 验证 LibreOffice 进程是否已停止 if ps aux | grep -v grep | grep libreoffice > /dev/null; then echo "无法停止 LibreOffice 进程,请手动检查。" exit 1 else echo "LibreOffice 进程已停止。" fi # 2. 重新启动 LibreOffice 守护进程 echo "正在启动 LibreOffice 守护进程..." /usr/lib/libreoffice/program/soffice --headless --invisible --nologo --nolockcheck --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard & if [ $? -eq 0 ]; then echo "LibreOffice 守护进程启动成功。" else echo "LibreOffice 守护进程启动失败,请检查日志或配置。" exit 1 fi echo "py3o 服务重启完成。"
- 手动操作(如果不使用脚本): 如果你不想使用脚本,可以手动执行以下步骤:
- 停止 LibreOffice 守护进程:
pkill -f "soffice.*--headless"
- 验证进程已停止:
确保没有 soffice.bin --headless 相关的进程(除了 grep 本身)。ps aux | grep libreoffice
- 重新启动 LibreOffice 守护进程:
/usr/lib/libreoffice/program/soffice --headless --invisible --nologo --nolockcheck --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard &
- 停止 LibreOffice 守护进程:
- 验证服务状态:
- 重启后,检查 LibreOffice 进程是否正常运行:
你应该能看到类似之前的 soffice.bin --headless 进程,表明守护进程已重新启动。ps aux | grep libreoffice
- 重启后,检查 LibreOffice 进程是否正常运行:
注意事项
- 端口配置:脚本使用默认端口 8100(--accept="socket,host=127.0.0.1,port=8100;urp;")。如果你的 report_py3o_fusion_server 配置了其他端口,请修改脚本或手动命令中的端口号。
- 日志检查:如果重启后 py3o 报表生成有问题,检查 Odoo 日志(通常在 /var/log/odoo/ 或配置文件指定的路径)或 LibreOffice 守护进程的输出(如果有重定向到日志文件)。
- 权限:确保以 root 或具有足够权限的用户运行命令,特别是 pkill 和启动 soffice 时。
- 依赖确认:确保 LibreOffice 已正确安装(soffice 命令可用),且 report_py3o_fusion_server 模块的配置正确指向 LibreOffice 守护进程。
如果你的环境中 LibreOffice 守护进程的启动参数或路径有特殊配置(例如非默认端口或自定义路径),请调整脚本或命令!

浙公网安备 33010602011771号