add process exit support