[comp.os.minix] RFC: A shutdown

eo@ansa.co.uk (Ed Oskiewicz) (06/29/90)

I recently transferred my root filesystem to my hard disk and I wrote a
shutdown program so that I could be sure that I was able to close my system
down in a controlled fashion.

Shutdown advises logged in users of the impending demise of the system, kills
off any unwanted processes and unmounts all non-root filesystems. The bulk of
this is performed by 3 shell scripts orchestrated by a small C program so it
is easy to change shutdown policies.

Enclosed is a uuencoded-compressed-sharred set of source files and minimal
documentation. It has only been tested on a 1.5.10 ST and I would especially
like feedback from PC users before offering it as contribution to the
collective software base. It's not yet perfect and the README contains a list
of potential improvements if anyone wants to hack.

An early response from the beta testers would be particularly appreciated.

Cheers,

Ed Oskiewicz (eo@ansa.co.uk)

--- cut here ---
begin 664 shutdown.sh.Z
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
(?UB(5>;=% !,
 
end