새로운 것로그 저장연결을 시도하는 동안 사용 중인 버전을 중지할 수 없습니다.고무 밴드항상 그럴 수는 없지만(인증 문제는 나중에 다루겠습니다).
a 는 sudo systemctl stop logstash.service
그것을 멈추기에 충분하지 않았기 때문에 하나를 발행했습니다 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 kill
SIGKILL
기본적으로 보내도록 지시하지 마십시오 .
kill
무늬…장치에 있는 하나 이상의 프로세스에 UNIX 프로세스 신호를 보냅니다.
--kill-whom=
신호를 보낼 프로세스를 선택하는 데 사용됩니다 .--signal=
전송할 신호를 선택하는 데 사용됩니다. . 와 함께 사용되며--kill-value=
관련 값과 함께 POSIX 실시간 신호를 대기열에 넣습니다.
달리 명시하지 않는 한 systemctl kill
서비스에 정의된 신호가 사용됩니다.
SIGKILL
실제로 서비스에 보내려면일부 서비스사람들은 이렇게 해야 합니다:
systemctl kill --signal=SIGKILL someservice
추가 세부정보는 다음에서 확인할 수 있습니다.이 Q&A.