- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 oneshot
类型的服务,我希望在停用另一个服务之前运行该服务。换句话说,每当其他服务收到停用信号时,我都希望我的服务激活、运行其进程并终止。只有当我的服务完成后,其他服务才被允许停用。
如何在 systemd 中实现此目的?
最佳答案
有一种可能的方法,在要停用的服务文件的 [Unit] 部分中使用 OnFailure=xyz.service
,其中 xyz.service 将是您要激活的服务。
现在有一个缓存,如果您想在运行进程后终止新激活的服务并保持进程运行,则必须使用 shell 脚本运行该服务并通过以下方式运行该脚本xyz.service 文件中的 ExecStart=/bin/sh lmn.sh
。
否则你可以直接给出ExecStart=/usr/bin/hello
来运行你的进程。在这里,您的服务文件将处于事件状态,直到您的进程运行为止。
[Unit]
Description=...
OnFailure=xyz.service
[Service]
.
.
.
xyz.service 文件
[Unit]
.
.
[Service]
.
.
ExecStart=/bin/sh lmn.sh
.
.
或
ExecStart=/usr/bin/hello
关于linux - 在停用另一个服务之前激活并运行 oneshot 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31074092/
我有一个 oneshot 类型的服务,我希望在停用另一个服务之前运行该服务。换句话说,每当其他服务收到停用信号时,我都希望我的服务激活、运行其进程并终止。只有当我的服务完成后,其他服务才被允许停用。
在 XCTestCase 测试中,我创建了一个 NSTask 对象并将其设置为运行 printenv。然后,在 NSTask 完成后,我使用 fork 和 execv 运行了 printenv。除了一
我目前正在添加从 accept 创建的 sockfds到具有以下事件的 epoll 实例: const int EVENTS = ( EPOLLET | EPOLLIN | E
我正在尝试处理几乎完全未记录的 Android Alarm Manager Plus,并有一个非常简单的应用程序来按下按钮、设置闹钟和触发闹钟,如下所示: import 'package:flutte
我想编写一个 SOCKS 服务器,它根据客户端请求的目的地选择多个 Internet 网关之一。大体流程是 执行SOCKS5协商并从客户端获取地址信息 请求内部服务器选择互联网网关和目标 IP 联系并
我是一名优秀的程序员,十分优秀!