在多线程环境中,使用exit退出,在调用exit后其他线程还会执行一段时间,直到进程被销毁.
有一种偶现情况: 调用exit,但是进程到最后并没有被杀死,部分线程仍然运行.比较诡异.
最后直接替换为_exit,调用_exit后立即调用系统接口销毁进程.
我的应用场景: 有一个监控进程会自动拉起停止的进程,如果进程没有启动就会一直不断拉起.
当端口被占用时,我们的进程必须停止,所以在检测到socket绑定失败后调用_exit
在多线程环境中,使用exit退出,在调用exit后其他线程还会执行一段时间,直到进程被销毁.
有一种偶现情况: 调用exit,但是进程到最后并没有被杀死,部分线程仍然运行.比较诡异.
最后直接替换为_exit,调用_exit后立即调用系统接口销毁进程.
我的应用场景: 有一个监控进程会自动拉起停止的进程,如果进程没有启动就会一直不断拉起.
当端口被占用时,我们的进程必须停止,所以在检测到socket绑定失败后调用_exit
转载于:https://my.oschina.net/u/257448/blog/871657