建立Internet连接后,systemd启动守护程序

时间:2013-09-06 17:57:37

标签: proxy systemd

我有一个只能在线启动自己的网络代理,否则会因错误退出。为了守护该代理,我编写了以下systemd服务文件:

[Unit]
Description=A Proxy Server
After=network.target

[Service]
Type=simple
ExecStart=/srv/proxy/aproxy/bin/main

[Install]
WantedBy=multi-user.target

当服务器连接到Internet时,此服务文件可以成功启动代理,但它在系统启动时不起作用,可能是由于缺少与Internet访问的连接。所以我需要systemd来确保在启动这个守护进程之前建立了连接。

1 个答案:

答案 0 :(得分:4)

向您的服务添加一个ExecStartPre语句,该语句调用的脚本在网络满意之前无法完成。

根据您的配置和需求,您可以循环,直到ping网络主机成功或检查您的界面是否具有适用于您的网络的IP。如果物理连接足以满足您的需求,您的脚本将检查/ sys / class / net // operstate的状态。

您也可以在其自己的单元文件中调用此类脚本,并将其添加到服务文件中的After语句中。