if shutting down computer from GUI is the same as from terminal with command:
Depende da GUI, é claro, mas na maioria das vezes uma mensagem DBus é enviada, seja para o init diretamente ou para algo como o ConsoleKit / systemd-logind.
Embora ambos os métodos acabem por resultar em dizer ao init para iniciar o processo de encerramento, eles diferem principalmente no tipo de autorização que utilizam, e. O desligamento via systemd-logind pode ser iniciado por qualquer usuário logado no console, enquanto o comando shutdown
é geralmente somente de raiz.
(O mesmo não se aplica a systemctl poweroff
, porém, que passa por um mecanismo mais parecido com uma GUI do que shutdown
.)
Does init process receive any signal like SIGPWR or SIGTERM or it shuts down differently? Hope you can help. Thanks.
Depende do sistema init, é claro, mas na maioria das vezes uma mensagem IPC é enviada, seja via D-Bus, um simples socket Unix, ou um pipe nomeado.
-
systemd tem D-Bus e
/run/systemd/private
como fallback; -
O Upstart tem o D-Bus e aparentemente
/run/initctl
também; -
O init do SysV tem
/dev/initctl
, às vezes/etc/.initctl
, recentemente/run/initctl
.
(SIGPWR tem um significado diferente - apenas informa ao init que houve uma falha de energia, sem solicitar explicitamente qualquer ação).