Linux shutdown/reboot process
    Peter Teoh 
    htmldeveloper at gmail.com
       
    Tue May 15 01:09:23 EDT 2012
    
    
  
i think your question is distro-specific, or at least it differs
between sysvinit and systemd - which is the two main technique of
starting up.
For Fedora Core 17 beta (my system), it is running systemd:
http://lwn.net/Articles/458789/
and here it shows all the good points about systemd:
http://0pointer.de/blog/projects/why.html
(noting the shutdown features if u are focusing on the shutdown part).
more info:
https://fedoraproject.org/wiki/Systemd
[PDF]
Beyond Init: systemd - LinuxKongress 2010
www.linux-kongress.org/2010/slides/systemd-poettering.pdf
But as mentioned in document above, /dev/initctl is still supported,
which is the traditional means of shutting down.
In Ubuntu (which uses sysvinit, and shutting down is via
/dev/initctl), u can get the source code for poweroff via:
"apt-get source upstart"
and then start navigating through the source code.
Within util/shutdown.c you can see following:
* struct request:
 *
 * This is the structure passed across /dev/initctl.
 **/
struct request {
        int  magic;
        int  cmd;
        int  runlevel;
        int  sleeptime;
        char data[368];
};
/**
 * sysvinit_shutdown:
 *
 * Attempt to shutdown a running sysvinit /sbin/init using its /dev/initctl
 * socket.
 **/
static void
sysvinit_shutdown (void)
{
        struct sigaction act;
        struct request   request;
        int              fd;
        /* Fill in the magic values */
        memset (&request, 0, sizeof (request));
        request.magic = 0x03091969;
        request.sleeptime = 5;
        request.cmd = 1;
        /* Select a runlevel based on the event name */
There goes all the magic....or some part of it....
On Mon, May 14, 2012 at 7:31 PM, Asutosh Das <das.asutosh at gmail.com> wrote:
>
> Hi List
> I have a query about the linux shutdown or reboot process.
>
> Please can you let me know if the below sequence is correct:
>
> When reboot command is given on the shell:
>
> 1. all user-space process is frozen (by sending some signal ?? )
> 2. all file-systems are remounted as read-only - (sysrq handler does this ?? )
> 3. all drivers, whose shutdown handlers have been defined, are called
> in the reverse order in which these drivers were initialized.
>
> I am not sure what happens after this.
>
> TIA.
>
>
>
> --
> Thanks & Regards
> ~/asd
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
--
Regards,
Peter Teoh
    
    
More information about the Kernelnewbies
mailing list