jjs supports Ctrl-C termination as well as shutdown functions like "quit" and "exit". In addition, user can also call java.lang.System.exit directory. Because of this, we can't enforce orderly shutdown to save command history before process termination. Using shutdown hook with preferences API has issues - perhaps because preferences API itself uses shutdown hooks to flush the changes! Besides simple file based command line history => user can open with other editors and offline edit the history as well.