Shutdown.exe è necessario per arrestare Windows?


36

Il file è C:\windows\system32\shutdown.exenecessario per arrestare o riavviare Windows?


16
Prova a rinominarlo in qualcos'altro e vedi.
martineau,

10
@MukulKumar Qualcuno che vuole scoprire l'effetto e sa che può facilmente annullarlo?
Jon Bentley

8
@theGreenCabbage: è necessario emettere shutdown -s -t 0- un semplice shutdownvisualizza solo aiuto.
LawrenceC

9
Scollegare il computer dovrebbe spegnerlo, indipendentemente dal nome di qualsiasi file.
David Starkey,

7
@DavidStarkey: "Spegni" e "spegni" non sono la stessa cosa, però.
Lightness Races con Monica

Risposte:


31

La tua domanda ovviamente nasce dalla tua risposta su https://codegolf.stackexchange.com/a/24011/18907 , in particolare dal kinokijufcommento sulla revisione iniziale della tua risposta.

Come kinokijufdetto, Windows non è Unix. Su Unices e Linux, shutdownè effettivamente coinvolto nel processo di spegnimento completo. È il programma che invia messaggi di avviso regolari agli utenti che hanno effettuato l'accesso e che scrive il /run/nologinfile per impedire ulteriori accessi poco prima del tempo di spegnimento programmato.

Su Windows NT, non è così.

L'azione "Spegni" sul "pulsante di accensione" nel menu Start di Esplora risorse di Windows, l'opzione di menu "Spegni" in Task Manager, REBOOT /Sin TCC o Take Command e altri programmi applicativi che ti consentono di arrestare il sistema quando si avvia lo spegnimento chiamando direttamente una delle due chiamate API Win32: InitiateSystemShutdownEx()oppure ExitWindowsEx(). Non fanno le cose indirettamente eseguendo il shutdownprogramma. (Ciò richiede effettivamente più codice da eseguire rispetto alla semplice chiamata della chiamata API Win32.) Il shutdownprogramma, quando si esegue uno spegnimento locale, chiama anche le stesse chiamate API Win32.

In realtà winlogon, csrsse smssche sono i programmi che spegnimento di Windows NT. In particolare, è winlogonquello che fa il lavoro principale di elaborazione delle richieste di arresto differito.

Ulteriori letture


1
Sei davvero un sensibile risponditore! Mi è piaciuto il modo in cui sei risalito alla situazione reale attraverso il mio profilo.
Mukul Kumar,

Si noti che sui sistemi Linux, il shutdowncomando non è affatto coinvolto nel processo di spegnimento completo; mentre può inviare messaggi di avviso o toccare / eseguire / nologin, tutto ciò che riguarda l'arresto effettivo è inviare il comando appropriato a systemd, init, ecc. ed uscire. Il processo di init o il suo moderno sistema di sostituzione fa effettivamente il lavoro di spegnimento del sistema.
Michael Hampton,

No, M. Hampton, l'invio dei messaggi e l'interruzione degli accessi è una parte a pieno titolo della procedura di arresto completo. Non pensare che se ne sia andato magicamente con Linux. Le pagine di manuale per due Linux shutdownsono proprio di fronte a te. Pensare che sia sbagliato quanto l'assurdità nell'Introduzione a Linux su TLDP che afferma che "UNIX non è fatto per essere chiuso". UNIX è stato infatti progettato per essere chiuso, e negli ultimi 40 anni ci sono molti libri per i professionisti UNIX che coprono l'intera procedura, con messaggi di avviso agli utenti come passaggio 1.
JdeBP,

Ci sono anche libri per professionisti Linux. Collegarei la Guida allo studio LPIC di Rod Smith , che ha shutdowna pagina 22, ma non è nella mia libreria. Mi dispiace, signor Smith. (-: La mia libreria ha simili riferimenti SVR5 di Coffin (il passaggio degli utenti di avviso descritto alle pagine 355 e 683), una Guida dell'amministratore di sistema UNIX di SCO (avvisi agli utenti come primo passaggio di arresto nelle pagine 52–53) e persino di Fielder / Amministrazione del sistema UNIX di Hunter (l'intero capitolo 6 riguarda l'arresto, con avvertimento agli utenti all'inizio del capitolo) Si possono trovare molti altri libri per i professionisti che lo riguardano.
JdeBP

55

No.

Explorer non chiama questo comando quando si chiude dal menu Start.

L'arresto del sistema è possibile con una chiamata API Win32 (la risposta di @ JdeBP fornisce grandi dettagli su questo se interessati). Il comando è solo un modo conveniente per farlo da uno script, un'attività pianificata o la finestra di dialogo Esegui.


In realtà, shutdown.exenon fa nemmeno un arresto grazioso.
Kinokijuf

Attento con quella risposta! Explorer non chiama quel comando, ma lo fanno altri processi che arrestano o riavviano Windows: e non è solo "un modo conveniente per farlo" se lo script o l'attività pianificata è un programma di installazione o un'attività di manutenzione programmata dal proprio amministratore di sistema.
Nigel Heffernan,

1
Ciò non lo rende "necessario", Nilo. Vedi il contesto della domanda (che non è nella domanda, ma è nella mia risposta e cosa è indicato lì) per la confutazione che l'interrogatore stava mettendo in discussione, e la dichiarazione su shutdownche l'interrogatore aveva originariamente fatto. (Queste parti di) programmi di installazione sono spesso scritti in linguaggi compilati che chiamano semplicemente l'API Win32.
JdeBP


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.