Logout cancelled by whatever

The point is the program should not normally stop log off unless it is has unsaved data or unfinished processes. If you kill a program with data unsaved you lose data. A program could be designed to auto save on the kill signal I guess but most are not since a human should decide if they want to lose data or save it. So the only real way to fix this is to pre-decide the acceptable save or dump and redesign the used programs to follow that.