The Distributed system shutdown hook is invoked when the JVM is exiting (like from System.exit or kill).
Based on the CacheClosedException.log file, the JVM is still up, though. Is it? If it is, can you try doing a thread dump on it? I'm not sure if it will work though. It might in a state where it doesn't respond to signals. You might also try jconsole or jvisualvm to get the thread dump.
Can you post the gemfire.log you reference? Also gemfire stats if you have those.