Como desligar um ExecutorService?

Sempre que eu chamoshutdownNow() oushutdown() não fecha. Eu li de alguns tópicos onde dizia que desligar não é garantido - alguém pode me fornecer uma boa maneira de fazer isso?