服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

当另一个服务启动时systemd启动服务

我知道如何使systemd服务使用诸如BindsTo,Require和PartOf之类的东西需要另一个服务。 我也读过很多关于类似情况的文章。 然而,我有一个更独特的用例,似乎没有直接的解决scheme,或者至less不是我发现的工作。 我有一个服务,“serviceA”,同时运行几个进程。 它作为特定的User = MyUser运行。 其中一个被启动的东西是一个需要使用sudo的安装脚本。 这个脚本被脚本调用时(不是手动运行时),所以我把脚本移出了一个单独的服务“serviceB”。 我不想在“serviceA”服务中包含对“serviceB”的任何引用,原因有多种。 是否有可能通过serviceB中的某个选项具有serviceA触发器serviceB? 我已经尝试过partOF,BindsTo,Before = etc …但是没有任何东西似乎有效果。 ServiceB不启动。 我假设没有办法触发其他服务,除非它在主要服务中列出。 我也没有看到关于通过journalctl以这种方式启动serviceB失败的输出,也没有看到任何比尝试运行脚本作为主要服务的一部分的错误代码更多的东西。 我目前的解决scheme是使用serviceA的一个插件,它有效地修改了服务,要求ServiceB首先启动。 它工作,但不是我最喜欢的机制。 或者,有什么方法可以解释为什么sudo命令无法在第一时间运行? (我已经尝试了完整的path,sudoers设置,等等…) serviceA.service: [Unit] Description= Service A that I don't want to modify [Service] ExecStart=/bin/bash -c 'mybinary' #calls other binaries and scripts. Restart=always User=MyUser Group=Mygroup serviceB.service: [Unit] Description= Service B that I don't mind modifying […]