14

Flume用の systemd サービス ファイルを作成しようとして/etc/systemd/system/flume-ng.serviceいます。次の内容で作成しました。

[Unit]
Description=Apache Flume

[Service]
Environment=FLUME_CLASSPATH=/opt/flume/current/lib/
ExecStart=/usr/bin/nohup /usr/bin/flume-ng agent -c /etc/flume-ng/conf -f /etc/flume-ng/conf/flume.conf --name a1 &

[Install]
WantedBy=multi-user.target

Flume サービスを開始しますが、サービスとして停止するにはどうすればよいですか?

この場合、PID で強制終了する必要がありました。

ありがとう

4

3 に答える 3

0

私の意見では、 ExecStopは十分ではありません。KillSignal=も重要です。ここで使用するシグナルは、内部で処理してアプリケーションを安全に終了するシグナルでなければなりません。Systemd は同じものを使用してアプリケーションを強制終了します。ExecStop= がプロセスの終了に失敗した場合、KillSignal によって強制終了されます。systemd の最後の手段は、SIGKILL を使用してプロセスを強制終了し、システムのシャットダウンを続行することです。

于 2021-03-03T10:12:29.873 に答える