Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk membuang goroutine proses titik masuk kontena?

Bagaimana untuk membuang goroutine proses titik masuk kontena?

王林
王林ke hadapan
2024-02-08 23:33:29916semak imbas

如何转储容器入口点进程的 goroutine?

editor php Strawberry akan memperkenalkan kepada anda cara membuang goroutine proses pintu masuk kontena. Apabila membangunkan aplikasi kontena menggunakan bahasa Go, kita selalunya perlu memahami dan menyahpepijat gorouti yang sedang berjalan. Lambakan goroutine proses titik masuk kontena ialah kaedah penyahpepijatan biasa, yang boleh membantu kami menganalisis dan menyelesaikan masalah dalam aplikasi. Dalam artikel ini, kami akan membincangkan secara terperinci cara menggunakan alatan dan teknik yang berkaitan untuk membuang goroutine proses titik masuk kontena, dan menyediakan langkah dan kod sampel khusus. Mari kita terokai topik yang menyeronokkan dan praktikal ini bersama-sama!

Kandungan soalan

Saya ada masalah di mana salah satu bekas tidak ditamatkan apabila permohonan dihentikan docker-compose up 运行的应用程序。当通过 docker-compose stop. Bekas menjalankan proses yang ditulis dalam Go, jadi saya ingin membuang goroutine proses itu untuk melihat di mana proses itu tersekat.

Saya boleh docker ps 查看容器,然后 docker exec -it c410494d5bb1f1d9dfe0d385746cdccc bash 进入容器,但是一旦我 kill -QUIT bb782c53ae52115ac2b562736c4917fd , apabila proses tamat, bekas juga berhenti, jadi saya tidak dapat membuang goroutine.

Bagaimana untuk mendapatkan tempat pembuangan goroutine dalam kes ini?

Penyelesaian

Bekas juga dihentikan jadi saya tidak dapat membuang goroutine.

Saya rasa anda boleh mendapatkan tempat pembuangan goroutine daripada balak bekas, dengan syarat:

  1. docker-compose stop Berhenti menjalankan bekas tanpa memadamnya
  2. kill -quit bb782c53ae52115ac2b562736c4917fd Buang goroutine ke stderr.

Berikut ialah arahan docker untuk mendapatkan log kontena (-n menentukan bilangan baris untuk dipaparkan dari hujung log):

$ docker logs -n 1000 [container-name]

Atas ialah kandungan terperinci Bagaimana untuk membuang goroutine proses titik masuk kontena?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam