I tried the following procedure many times but still haven't found an explanation, so I'm hoping to find someone who can do that for me.
As root, in tty1 I create a new user (useradd johndoe) and assign him a password
(passwd johndoe). Then I login as johndoe in tty2. Then I try, in tty1, to delete the user by means of the command "userdel johndoe", which is obviously not possible because the user is logged in. In tty2 I logout (exit) and then try again the deletion in tty1, with no problems at all.
THEN I start it all over again with a little difference. After logging in in tty2 as johndoe, in tty1 I issue the command "ps -u johndoe" to find out the PID of johndoe's shell. Then I issue the command "kill -s 9 xxxx" where xxxx is the previously found PID. I check tty2 and see that the johndoe's bash session has actually aborted and the terminal prompts for another login as expected. At this point, however, if in tty1 I issue the command "userdel johndoe" I always get an error message saying that "user johndoe is currently logged in.
How can that be explained (and worked around)?
Last edited by armandino; 02-25-2009 at 04:11 AM.