维护_设置linux的systemctl的service的配置

✅ 正确的 bringup.sh 写法(适用于 root 用户 + systemd)

bash
深色版本

#!/bin/bash

/home/x02lite/remote_grpc/bringup.sh

1. 激活 conda 环境的正确方式

不要 source activate,而是 source conda.sh

source /root/miniconda3/etc/profile.d/conda.sh

2. 激活你的环境

conda activate pysim2real

3. 进入工作目录

cd /home/x02lite/remote_grpc

4. 关键:禁用 Python 缓冲,确保日志实时输出

export PYTHONUNBUFFERED=1

5. 运行 Python 脚本

exec python3 exo_grpc/GrpcExoskClient.py

✅ exec 让 Python 进程接管 PID,便于 systemd 正确管理进程。

✅ 修改权限

确保脚本可执行:

bash
深色版本

chmod +x /home/x02lite/remote_grpc/bringup.sh

✅ 确保 conda init 已运行过(只做一次)

你之前运行了 conda init,但从输出看:

深色版本

no change /root/.bashrc
No action taken.

说明 .bashrc 已被修改,但你需要重新登录或 source 一下:

bash
深色版本

source /root/.bashrc

这会定义 conda 命令和 conda activate 函数。

🔁 重要:如果你刚运行 conda init,必须重新登录 root 或执行 source ~/.bashrc,否则 conda activate 仍然无效。

✅ 验证 conda 是否正常

在终端运行:

bash
深色版本

source /root/miniconda3/etc/profile.d/conda.sh
conda activate pysim2real
python3 --version

如果能正常激活环境并看到 Python 版本,说明环境没问题。
✅ 修改 remote.service(建议添加 PYTHONUNBUFFERED)

ini
深色版本

[Service]
User=root
Group=root
WorkingDirectory=/home/x02lite/remote_grpc
ExecStart=/home/x02lite/remote_grpc/bringup.sh
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
Type=simple
Environment=PYTHONPATH=/home/x02lite/remote_grpc
Environment=PYTHONUNBUFFERED=1 # 👈 确保日志实时输出

✅ 重启服务并查看日志

bash
深色版本

重新加载配置

sudo systemctl daemon-reload

重启服务

sudo systemctl restart remote.service

查看状态

sudo systemctl status remote.service

实时查看日志(关键!)

sudo journalctl -u remote.service -f

✅ 如果还是失败?用“直接调用 Python”方式(终极解决方案)

如果 conda 激活还是有问题,最可靠的方式是直接调用 conda 环境中的 python:

ini
深色版本

[Service]
User=root
Group=root
WorkingDirectory=/home/x02lite/remote_grpc

直接调用 conda 环境中的 python

ExecStart=/root/miniconda3/envs/pysim2real/bin/python exo_grpc/GrpcExoskClient.py

Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
Type=simple
Environment=PYTHONPATH=/home/x02lite/remote_grpc
Environment=PYTHONUNBUFFERED=1

✅ 这种方式完全绕过 conda 激活机制,最稳定。

✅ 总结:推荐最终方案
✅ 方案一:修复 bringup.sh(适合你当前结构)

bash
深色版本

#!/bin/bash
source /root/miniconda3/etc/profile.d/conda.sh
conda activate pysim2real
cd /home/x02lite/remote_grpc
export PYTHONUNBUFFERED=1
exec python3 exo_grpc/GrpcExoskClient.py

✅ 方案二:直接调用 Python(推荐,最稳定)

ini
深色版本

ExecStart=/root/miniconda3/envs/pysim2real/bin/python exo_grpc/GrpcExoskClient.py

并删除 bringup.sh 的依赖。
🔁 操作步骤

bash
深色版本

1. 修改 bringup.sh 或 service 文件

2. 添加 PYTHONUNBUFFERED=1

3. systemctl daemon-reload

4. systemctl restart remote.service

5. journalctl -u remote.service -f # 看日志!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值