仅在运行特定应用程序时如何运行守护程序?

美联社

我有一个名为的用户空间守护程序,该守护程序maxwell根据来自另一个应用程序的D总线信号执行各种动作,称为room我想maxwell在用户启动后立即运行room,并在room退出时停止运行

我认为像这样的启动器脚本将导致所需的行为:

#!/bin/sh

systemctl --user start maxwell
room
systemctl --user stop maxwell

但是有没有更好/标准的方法来做到这一点,例如通过systemd本身呢?

更新:似乎我正在寻找的功能类似于upstartdbus event所提供的功能根据systemd史蒂芬·基特(Stephen Kitt)的回答,在首次使用某个D-bus名称时,似乎可以自动实现的服务是该名称的“拥有”。不幸的是,在这种情况下,名称是room“拥有”的。


注意:我认为这与systemd require =“ some non-systemd process”不同吗?或者至少在此情况下提供的答案有效。据我了解,如果尚未运行,使用ExecStartPre只会将其标记maxwell失败room

斯蒂芬·基特

systemd支持D-Bus激活,其中启动了一项服务以服务于D-Bus方法调用。我不确定是否可以将其转换为用户服务。对于系统服务,您可以创建一个D-Bus服务文件:

[D-BUS Service]
Name=your.bus.name
Exec=/path/to/the/daemon
User=root
SystemdService=systemd-service-name.service

以及相应的systemd服务,该服务必须指定匹配的总线名称:

[Service]
BusName=your.bus.name

BusName以这种方式指定会自动将该服务标记为D-Bus服务。

应该可以将所有内容安装为用户服务(User在D-Bus服务文件中进行更改以匹配),但是我还没有尝试过。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Alamofire仅在运行存档的应用程序时崩溃

来自分类Dev

我如何检测正在运行的特定应用程序

来自分类Dev

在运行应用程序时收到PHP警告

来自分类Dev

在运行应用程序时显示纯白屏幕

来自分类Dev

Intelij:在运行应用程序时重新编译?

来自分类Dev

仅在运行特定程序时,如何才能禁用网络搜索?

来自分类Dev

如何在运行 PyQt 应用程序时捕获主要异常?

来自分类Dev

如何仅在首次运行应用程序时在我的iOS应用程序中打开页面视图控制器?

来自分类Dev

如何诊断仅在使用uWSGI运行应用程序时出现的Python Flask应用程序中的问题?

来自分类Dev

如何仅在首次运行应用程序时在我的iOS应用程序中打开页面视图控制器?

来自分类Dev

如何使WSCoachMarksView演练仅在用户首次打开应用程序时运行?

来自分类Dev

仅在首次启动应用程序时,如何启动具有特定活动的应用程序?

来自分类Dev

运行Babel应用程序时出错

来自分类Dev

运行Javafx应用程序时出错

来自分类Dev

运行MVC应用程序时出错

来自分类Dev

运行SOLR应用程序时出错

来自分类Dev

运行Ruby应用程序时出错

来自分类Dev

运行 CodeIgniter 应用程序时出错

来自分类Dev

在运行命令提示符.exe应用程序时,将超时定义为C#WPF应用程序中的特定行

来自分类Dev

如何休眠正在运行的应用程序?

来自分类Dev

如何检查正在运行Web应用程序的设备

来自分类Dev

使用Nginx运行守护程序的Bottle应用程序

来自分类Dev

如何确定特定NSScreen上是否正在运行全屏应用程序

来自分类Dev

如何确定在特定的NSScreen上是否正在运行全屏应用程序

来自分类Dev

如何在运行Gnome的Ubuntu 18.04中增加特定应用程序的字体大小?

来自分类Dev

如何仅在应用程序中运行猴子测试?

来自分类Dev

为什么SpriteKit在运行应用程序时在应用程序委托类中显示威胁?

来自分类Dev

在运行Grails应用程序时创建一个新数据库

来自分类Dev

Robolectric:测试在运行应用程序时启动哪个活动

Related 相关文章

  1. 1

    Alamofire仅在运行存档的应用程序时崩溃

  2. 2

    我如何检测正在运行的特定应用程序

  3. 3

    在运行应用程序时收到PHP警告

  4. 4

    在运行应用程序时显示纯白屏幕

  5. 5

    Intelij:在运行应用程序时重新编译?

  6. 6

    仅在运行特定程序时,如何才能禁用网络搜索?

  7. 7

    如何在运行 PyQt 应用程序时捕获主要异常?

  8. 8

    如何仅在首次运行应用程序时在我的iOS应用程序中打开页面视图控制器?

  9. 9

    如何诊断仅在使用uWSGI运行应用程序时出现的Python Flask应用程序中的问题?

  10. 10

    如何仅在首次运行应用程序时在我的iOS应用程序中打开页面视图控制器?

  11. 11

    如何使WSCoachMarksView演练仅在用户首次打开应用程序时运行?

  12. 12

    仅在首次启动应用程序时,如何启动具有特定活动的应用程序?

  13. 13

    运行Babel应用程序时出错

  14. 14

    运行Javafx应用程序时出错

  15. 15

    运行MVC应用程序时出错

  16. 16

    运行SOLR应用程序时出错

  17. 17

    运行Ruby应用程序时出错

  18. 18

    运行 CodeIgniter 应用程序时出错

  19. 19

    在运行命令提示符.exe应用程序时,将超时定义为C#WPF应用程序中的特定行

  20. 20

    如何休眠正在运行的应用程序?

  21. 21

    如何检查正在运行Web应用程序的设备

  22. 22

    使用Nginx运行守护程序的Bottle应用程序

  23. 23

    如何确定特定NSScreen上是否正在运行全屏应用程序

  24. 24

    如何确定在特定的NSScreen上是否正在运行全屏应用程序

  25. 25

    如何在运行Gnome的Ubuntu 18.04中增加特定应用程序的字体大小?

  26. 26

    如何仅在应用程序中运行猴子测试?

  27. 27

    为什么SpriteKit在运行应用程序时在应用程序委托类中显示威胁?

  28. 28

    在运行Grails应用程序时创建一个新数据库

  29. 29

    Robolectric:测试在运行应用程序时启动哪个活动

热门标签

归档