【问题标题】:Systemd user unit depends of system targetSystemd 用户单位取决于系统目标
【发布时间】:2021-05-25 13:27:03
【问题描述】:

我正在编写几个systemd user 单元,其中一些需要依赖于system 单元wpa_supplicant@INT.service。这些单元需要在wpa_supplicant@INT.service 启动时启动,在停止时停止。

我看到user 单位不能依赖system 单位。那么,我该怎么做呢?

我必须以系统单位重写我的所有用户单位吗?看起来很丢脸,不是要走的路。

我想避免创建将检查wpa_supplicant@INT.service 状态的服务,并希望直接由 systemd 实例发出警报。

任何建议将不胜感激,

感谢您的宝贵时间。

【问题讨论】:

    标签: system systemd


    【解决方案1】:

    我终于找到了两种方法。

    我们可以使用系统中的 systemctl 与带有 --user --machine=user@.host 参数的用户 systemctl 实例对话。

    例如,在 systemd 系统单元中,我们可以这样启动一个进程:

    /bin/sh -c "systemctl --user --machine=$${USER}@.host stop wpa_service.target"
    

    另一种方法是使用套接字与在用户级别运行的服务通信。然后它将毫无问题地在用户会话级别执行任何操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-01
      • 1970-01-01
      • 2020-04-15
      • 2020-09-28
      • 2020-09-15
      • 2012-07-22
      相关资源
      最近更新 更多