后台程序报: "Unhandled error in Deferred:"的一种解决方案

本文由Markdown语法编辑器编辑完成.

最近在进行后台的一些模块功能开发时,会莫名地出现:"Unhandled error in Deferred:"的异常提示.

这个后台模块的基本功能时,当整个进程启动后,该模块会提供一个HTTP的服务接口,这里设为:127.0.0.1:10001/v1/api/notify/stu. 然后等待其他的模块,向该服务发起post请求.这个后台的功能会每隔一段时间,进行一次轮询.轮询时,如果发现有模块向该服务发起post请求和json数据,那么这个进程便会处理数据.

但是,偶尔,在启动该进程时,会出现以上的那个错误.

之前有一种情况,可以重现这个错误.就是当已经启动了一个进程后,如果再启同样的进程时,就会提示这个错误.

如果关闭原来启动的进程,再启动,则这个问题消失.

当时只是知道,这种情况可以解决这个bug. 但是,有时候出现这个问题时,通过在terminal中查看进程时,发现并没有这个进程.

今天请教一个同事,他的经验比较丰富.他并没有去查看是否有相同的进程,而是通过指令查看是否有被占用的端口号.
通过:sudo lsof -i:10001 时,可以查看目前这个进程的端口是否被占用着.
在这里插入图片描述
可以看到,虽然那个同名的进程并没有启动.但是这个10001的端口,却是被进程号为18789的进程占用着呢.

找到问题后,通过杀死进程.kill 18789. 然后再次运行该进程,则进程可以正常的启动.

(完)

发布了188 篇原创文章 · 获赞 416 · 访问量 131万+

猜你喜欢

转载自blog.csdn.net/inter_peng/article/details/88899724