User tasks in ~/.logout

Polytropon freebsd at
Tue Oct 11 13:57:52 UTC 2011

I have some users who I want to "schedule" a specific job
for which gets executed on their user account. For some
of them, it will be twice a day, for others just once a
month. It should happen at logout time.

The intended mechanism to do so is ~/.logout, the C shell's
logout script.

Example: The user quits his work (shell "exit" or ending
a custom program that is executed by the shell),
now the ~/.logout shoult be executed, e. g. copying his
current datasets to "immediate backup" (or other means of

I assume I cannot use this approach when the user runs
his specific program _as_ the shell (per /etc/passwd),
but that's not a problem now, as it's easier to give
a regular shell and use ~/.login to "auto-exec" the
user-specific program).

My question is: As users connect to the system per SSH,
how much time will the "at logout time" process have to
finish work, or does it work _any_ time after the user
has (1st) logged out and (2nd) terminated SSH connection
(e. g. disconnect from SSH CLI client or PuTTY)?

Will such a ~/.logout job finish even if the user closes
his connection right after logout?

And just in case a user does not properly log out (e. g.
closes PuTTY right from the open session, maybe from within
the program or shell he currently runs), will this cause
~/.logout to be processed, or will it be a "stale connection"?

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list