образом
                  
                  
                  runBlocking {
                  
                  
                  //// some code
                  
                  
                      val queueListener = launch {
                  
                  
                          while (isActive) {
                  
                  
                               // do something useful
                  
                  
                          }
                  
                  
                  
                  
                  
                          logger.info { "Exiting program" }
                  
                  
                      }
                  
                  
                  
                  
                  
                      Runtime.getRuntime().addShutdownHook(Thread {
                  
                  
                          logger.info { "Cancellation requested" }
                  
                  
                          queueListener.cancel()
                  
                  
                      })
                  
                  
                  }
                  
                  
                  в итоге Exiting program на экране не появляется. С чем это может быть связано? Есть ли другие способы добиться перехвата этого SIGINT?
                  
                  
                
Есть прям способ перехватывать сигналы, но он, кажется, неофициальный
у тебя внутри runBlocking крутится бесконечная корутина
Обсуждают сегодня