以前の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
コメントアウトされました。