在 Java 中,如果进程没有在我预期的时候终止,我通常会进行线程转储并查看线程在做什么。通常会有一个非守护线程正在等待某些东西,例如,我忘记调用线程池关闭方法。
在 Node 中,我不确定是什么负责让进程保持活力。当然是它的线程,但我不知道它是如何决定何时杀死它的线程的。通常这是我忘记关闭的数据库连接,但目前我有一个进程即使在关闭数据库连接池后也挂起,我不确定是什么让它保持活动状态或如何检查它。
如何解决这个问题?
在 Java 中,如果进程没有在我预期的时候终止,我通常会进行线程转储并查看线程在做什么。通常会有一个非守护线程正在等待某些东西,例如,我忘记调用线程池关闭方法。
在 Node 中,我不确定是什么负责让进程保持活力。当然是它的线程,但我不知道它是如何决定何时杀死它的线程的。通常这是我忘记关闭的数据库连接,但目前我有一个进程即使在关闭数据库连接池后也挂起,我不确定是什么让它保持活动状态或如何检查它。
如何解决这个问题?