您尚未登录。

#1 2015-03-17 16:01:02

atmouse
会员
注册时间: 2011-08-24
帖子: 701

自定义systemd.service如何判断该unit是否已经启动成功

就是说,
我自定义了一个unit文件,有其他的service unit依赖于这个,
如果我把这个service的Type设置成Simple(默认)的时候

[Unit]
Description=service

[Service]
ExecStart=/root/bin/whserver.sh on
ExecStop=/root/bin/whserver.sh off
Restart=always

[Install]
WantedBy=multi-user.target

,他一启动,就算是开起来了,依赖于这个的其他service也立马就开起来了,
但是我/root/bin/whserver.sh 启动的时候有个过程,有什么办法让systemd知道我脚本里面执行到一个地方才算 started

给个例子,不要太复杂的实现办法,我知道 Type=notify 可以

最近编辑记录 atmouse (2015-03-17 16:03:27)

离线

#2 2015-03-17 16:33:29

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: 自定义systemd.service如何判断该unit是否已经启动成功

OK
https://gist.github.com/zyndiecate/9955743
我看了这个栗子后明白了怎么使用了,不要去整什么sd_notify了

离线

#3 2015-03-17 17:27:01

atmouse
会员
注册时间: 2011-08-24
帖子: 701

Re: 自定义systemd.service如何判断该unit是否已经启动成功

额。。碰到ppp 必须用detach的时候跪了

离线

#4 2015-03-17 21:40:54

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,954
个人网站

Re: 自定义systemd.service如何判断该unit是否已经启动成功

我也用的 Type=notify,有 Python 绑定,很好用:

import systemd.daemon
systemd.daemon.notify('READY=1')

离线

页脚