shutdown确保两个都会调用到，并不抛异常