如何检查 systemd 上的标志?

如何检查 systemd 上的标志?

我尝试在旧 CPU 上运行 clickhouse,但出现错误:

Illegal instruction

Clickhouse 需要 CPU 标志 SSE 4.2。

如何检查 systemd 上的标志?

或者如何在 systemd 上编写此块而不运行 bash 脚本?

if grep -q "sse4_2" /proc/cpuinfo;
then
    /usr/bin/clickhouse-server
else
    echo "CPU doesn`t support SSE 4.2"
fi

谢谢

答案1

systemd 配置文件的语法不支持 bash 语法。

最好的选择是将 bash 脚本放在一个文件中,例如“/usr/bin/clickhouse.sh”。

答案2

Ubuntu 软件包附带Aclickhouse-server.service来自软件本身的作者。它不做那个测试。你做了那个测试,如果失败了不要运行启动或启用服务的命令首先。

Clickhouse 多科它本身将其呈现为一个独立的测试,您可以在继续安装软件并运行服务之前进行此测试。

尝试使用某种帮助程序脚本或其他方式将其构建到 systemd 服务中,最终您将得到一个终止并自动重新启动的服务不断地。请注意,即使rc是软件作者提供的旧 van Smoorenburg脚本,如果检查失败,实际上也不会中止尝试启动服务。已exit被注释掉。

相关内容