systemdでフラグをチェックする方法は?

systemdでフラグをチェックする方法は?

以前のCPUでClickhouseを実行しようとしてエラーが発生します。

Illegal instruction

ClickhouseにはCPUフラグSSE 4.2が必要です。

systemdでフラグをチェックする方法は?

それとも、bashスクリプトを実行せずにsystemdにこのブロックを書き込む方法はありますか?

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パッケージに含まれるclickhouse-server.serviceソフトウェア自体の作成者から。そのテストはしません。テストしてみて失敗したらサービスを開始またはアクティブ化するコマンドを実行しないでください。最初。

クリックハウスドコこれは、ソフトウェアのインストールとサービスの実行を続行する前に実行できるスタンドアロンテストとして表示されます。

一種のヘルパースクリプトなどを使ってシステムサービスに構築してみると、自動的に終了して再起動するサービスが生成されます。続けて。ソフトウェア作成者が提供した以前のvan Smoorenburgスクリプトrcも、チェックが失敗しても実際にサービスの開始試行を中断しません。exitコメントアウトされました。

関連情報