小编Dan*_*ler的帖子

如何在 systemd 中允许缓慢启动的依赖服务

有时一个服务会启动并分叉 - 给 systemd 一个它已经准备好的错觉 - 即使它还没有完成“预热”。在这个特定的实例中,我使用 ApacheDS 来提供 LDAP 服务。当这个单元启动时,检查“systemctl status apacheds”将显示它正在运行,以及单个日志行:

4 月 4 日 15:34:33 daisy systemd[1]:启动 Apache Directory Server。

但是……它还没有服务。直到端口测试(如“lsof -i :389”或“netstat -pan | grep :389 | grep LISTEN”)显示存在活动侦听器,否则没有可用的 LDAP。

无论是否应该这样做 - 这需要大约 2 分钟才能完全启动。我的问题不是 ApacheDS 是坏了还是应该更换——而是如何处理 systemd 中的慢速初始化服务。

有没有办法将这样的测试放入 systemd 中,要么告诉它等待有效以显示 apacheds 服务已启动,要么将其作为依赖服务的先决条件,而不会让它们简单地失败并仍然拒绝启动?

这是一个有效的测试脚本:

#!/bin/bash
TRIES=30
WAIT=10

while /bin/netstat -an | /bin/grep \:10389 | /bin/grep LISTEN ; [ $? -ne 0 ]; do
    let TRIES-=1
    if [ $TRIES -gt 1 ]; then
            sleep $WAIT
    fi …
Run Code Online (Sandbox Code Playgroud)

startup-scripts systemd

5
推荐指数
1
解决办法
2537
查看次数

systemd 如何自动启动并控制 VirtualBox 来宾?

在我的特殊情况下,在安装了 Ubuntu 18.04 Bionic 和 VirtualBox-5.2.20 的新服务器后,自动启动 guest 虚拟机的旧方法似乎不再可用。并不是说它有那么美妙——但它确实有效。似乎没有任何干净的方法可以解决这个问题 - systemd 和 VirtualBox 如何协同工作实现智能启动、控制和关闭?

virtualbox systemd

2
推荐指数
1
解决办法
7780
查看次数

标签 统计

systemd ×2

startup-scripts ×1

virtualbox ×1