執(zhí)行py3o的重啟腳本(包含手動執(zhí)行,以及自動執(zhí)行的腳本)
自動執(zhí)行腳本代碼:
如果py3o的打印出現(xiàn)問題,可以直接執(zhí)行/opt/lyt下的 restart-py3o-only.sh這個文件。即可重啟服務(wù)。環(huán)境已經(jīng)配置好了。一般情況下出現(xiàn)的問題是缺少java的環(huán)境。直接安裝就可以了
#!/bin/bash # 腳本用于僅重啟 LibreOffice 守護進程以重啟 py3o 服務(wù) # 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 服務(wù)重啟完成。"
- 手動操作(如果不使用腳本): 如果你不想使用腳本,可以手動執(zhí)行以下步驟:
- 停止 LibreOffice 守護進程:
pkill -f "soffice.*--headless"
- 驗證進程已停止:
確保沒有 soffice.bin --headless 相關(guān)的進程(除了 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 守護進程:
- 驗證服務(wù)狀態(tài):
- 重啟后,檢查 LibreOffice 進程是否正常運行:
你應(yīng)該能看到類似之前的 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 守護進程的輸出(如果有重定向到日志文件)。
- 權(quán)限:確保以 root 或具有足夠權(quán)限的用戶運行命令,特別是 pkill 和啟動 soffice 時。
- 依賴確認:確保 LibreOffice 已正確安裝(soffice 命令可用),且 report_py3o_fusion_server 模塊的配置正確指向 LibreOffice 守護進程。
如果你的環(huán)境中 LibreOffice 守護進程的啟動參數(shù)或路徑有特殊配置(例如非默認端口或自定義路徑),請調(diào)整腳本或命令!

浙公網(wǎng)安備 33010602011771號