首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么systemd启动的进程对其他进程不可用

为什么systemd启动的进程对其他进程不可用
EN

Unix & Linux用户
提问于 2019-10-01 09:33:22
回答 1查看 85关注 0票数 1

我已经获得了一个名为odrived.service的服务,我已经编写了这个服务,它将由systemd自动启动,然后它将执行一个名为odriveagent的二进制文件。它可以工作,或者我认为它可以工作,因为systemctl status odrived.service确实显示odriveagent已经启动。但是,当我尝试执行依赖于odriveagent的脚本时,脚本会打印错误,说明odriveagent没有启动。

但是,如果我遵循odrive网站教程并手动将nohup "home/user/.odrive-agent/bin/odriveagent" > /dev/null 2>&1 &输入终端,我的脚本就能够找到已启动的odriveagent并执行。

systemd启动的进程是否有什么特别之处会导致此错误?

下面是我的odrived.service代码

代码语言:javascript
复制
[Unit]
Description=ODrive Sync Agent Daemon

[Service]
ExecStart=/home/user/.odrive-agent/bin/odriveagent

[Install]
WantedBy=multi-user.target
EN

回答 1

Unix & Linux用户

发布于 2019-10-01 10:32:15

我想我在穆鲁和炸鱼薯条德里克的帮助下找到了我的答案。正如他们所怀疑的那样,由于我没有为我的odrived.service指定一个用户,所以我的odrived.service作为根用户运行。另一方面,我试图使用我的客户端脚本作为正常用户,导致客户端脚本无法找到根用户拥有的odriveagent进程。

正如炸鱼薯条德里克所建议的,将客户端脚本作为根用户运行是可行的,但我认为更合适的解决方案是在服务文件中指定用户。谢谢你们的帮助!

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/544586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档