"sytemctlkilllogstash.service"を使用してサービスを終了すると予想しましたが、サービスはSIGKILLの代わりにSIGTERMを受け取りました。 SIGKILLを送るには?

新しいものログの保存接続しようとしている間、使用しているバージョンを停止できません。ゴムバンド必ずしもそうではありませんが(認証の問題は後で取り上げます)。

aはsudo systemctl stop logstash.serviceそれを止めるのに十分ではなかったので、1つを発行しましたsudo systemctl kill logstash.service

しかし、それも止まらない。

表示するsudo system status logstash.service

lebihan@debian:~$ sudo systemctl kill logstash.service

lebihan@debian:~$ sudo systemctl status logstash.service
● logstash.service - logstash
     Loaded: loaded (/lib/systemd/system/logstash.service; disabled; preset: enabled)
     Active: deactivating (stop-sigterm) since Sun 2023-08-20 07:51:21 CEST; 1h 4min ago
   Main PID: 47926 (java)
      Tasks: 176 (limit: 76997)
     Memory: 1.6G
        CPU: 28min 605ms
     CGroup: /system.slice/logstash.service
             └─47926 /usr/share/logstash/jdk/bin/java -Xms1g -Xmx1g -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.compile.invokedynamic=true -XX:+HeapDumpOnOutOfMemoryError -Djava.security.eg>

août 20 08:55:36 debian logstash[47926]: [2023-08-20T08:55:36,702][WARN ][logstash.outputs.elasticsearch][main] Attempted to resurrect connection to dead ES instance, but got an error {:url=>"http://l>
août 20 08:55:41 debian logstash[47926]: [2023-08-20T08:55:41,704][WARN ][logstash.outputs.elasticsearch][main] Attempted to resurrect connection to dead ES instance, but got an error {:url=>"http://l>
août 20 08:55:42 debian systemd[1]: logstash.service: Sent signal SIGTERM to main process 47926 (java) on client request.
août 20 08:55:42 debian logstash[47926]: [2023-08-20T08:55:42,326][WARN ][logstash.runner          ] SIGTERM received. Shutting down.
août 20 08:55:46 debian logstash[47926]: [2023-08-20T08:55:46,706][WARN ][logstash.outputs.elasticsearch][main] Attempted to resurrect connection to dead ES instance, but got an error {:url=>"ht

SIGKILLイベントは送信せsystemctl killず、SIGTERMイベントは送信するのですか?
私のサービスがSIGKILLの使用を強制的に停止するにはどうすればよいですかsystemctl

ベストアンサー1

これ関連文書systemctl killSIGKILLデフォルトで送信するように指示しないでください。

kill柄…

デバイス上の1つ以上のプロセスにUNIXプロセス信号を送信します。--kill-whom=信号を送信するプロセスを選択するために使用されます。--signal=送信する信号を選択するために使用されます。 。と一緒に使用され、--kill-value=関連する値とともにPOSIXリアルタイム信号をキューに入れます。

特に明記しない限り、systemctl killサービスで定義された信号が使用されます。

SIGKILL実際にサービスに送るには一部のサービス人々はこうするべきです:

systemctl kill --signal=SIGKILL someservice

追加の詳細は以下で確認できます。このQ&A

おすすめ記事