kill -9를 사용해도 프로세스는 종료되지 않고 실제로는 이미 삭제된 컨테이너에 속하게 됩니다.

kill -9를 사용해도 프로세스는 종료되지 않고 실제로는 이미 삭제된 컨테이너에 속하게 됩니다.

프로세스를 종료하는 방법을 보여주는 이상한 동작이지만 실제로는 프로세스가 종료되지 않습니다.

예(rhel 7.6 서버에서)

ps -ef | grep kafka-exporter
root     15340 19528  0 17:25 pts/0    00:00:00 grep --color=auto kafka-exporter
root     28326     1 99 Oct18 ?        3-03:04:32 /bin/kafka-exporter --kafka.server=kafka1.sys76.com:6667

이제 프로세스를 종료하려고 합니다.

kill -9 28326

프로세스가 종료되었는지 다시 확인하지만 프로세스가 여전히 실행 중인 것을 볼 수 있습니다.

ps -ef | grep kafka-exporter
root     20204 19528  0 17:27 pts/0    00:00:00 grep --color=auto kafka-exporter
root     28326     1 99 Oct18 ?        3-03:07:54 /bin/kafka-exporter --kafka.server=kafka1.sys76.com:6667

해당 프로세스가 도커 컨테이너에 속해 있음을 알고 있으나 kafka-exporter아래와 같이 도커 컨테이너가 삭제되었습니다.

 docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

그러나 몇 가지 불분명한 이유로 컨테이너에서 실행되어야 하는 바이너리가 /bin/kafka-exporter Linux 운영 체제에도 나타납니다.

실제로 이렇게 하면 ls -l /bin/kafka-exporter이 바이너리가 존재하지 않는다는 것을 알 수 있습니다.

따라서 프로세스가 삭제된 도커 컨테이너에서 실행 중이지만 Linux OS에서 프로세스를 종료하는 방법을 알아보세요.

관련 정보