Le fichier est-il C:\windows\system32\shutdown.exenécessaire pour arrêter ou redémarrer Windows?
shutdown -s -t 0- une simple shutdownaffiche uniquement l'aide.
Le fichier est-il C:\windows\system32\shutdown.exenécessaire pour arrêter ou redémarrer Windows?
shutdown -s -t 0- une simple shutdownaffiche uniquement l'aide.
Réponses:
Votre question provient bien sûr de votre réponse sur https://codegolf.stackexchange.com/a/24011/18907 , en particulier de votre kinokijufcommentaire sur la révision initiale de votre réponse.
Comme kinokijufdit, Windows n'est pas Unix. Sur Unices et Linux, shutdownest en effet impliqué dans le processus d'arrêt complet. C'est le programme qui envoie des messages d'avertissement réguliers aux utilisateurs connectés et qui écrit le /run/nologinfichier afin d'empêcher toute nouvelle connexion peu de temps avant l'heure d'arrêt prévue.
Sous Windows NT, ce n'est pas le cas.
L'action "Arrêter" sur le "bouton d'alimentation" du menu Démarrer de l'Explorateur Windows, l'option de menu "Arrêter" du Gestionnaire des tâches, REBOOT /Sde TCC ou de Take Command, ainsi que d'autres programmes d'application vous permettant d'éteindre le système. en appelant directement l'un des deux appels d'API Win32: InitiateSystemShutdownEx()ou ExitWindowsEx(). Ils ne font pas les choses indirectement en exécutant le shutdownprogramme. (Cela nécessite en réalité plus de code que d'appeler simplement l'appel de l'API Win32.) Le shutdownprogramme, lorsqu'il effectue un arrêt local, appelle également ces mêmes appels de l'API Win32.
C'est en fait winlogon, csrsset smssce sont les programmes qui ferment Windows NT. En particulier, c’est winlogonl’essentiel du travail de traitement des demandes d’arrêt différé.
shutdown. FreeBSD 9.2 pages de manuel . 2013-03-19.shutdown. systemdpages de manuel . 2013. Freedesktop.org.shutdown. upstartpages de manuel . 2009. Canonical Ltd.InitiateSystemShutdownEx. MSDN. Microsoft Corporation.ExitWindowsEx. MSDN. Microsoft Corporation.REBOOT. Prise de commande / Aide TCC. Logiciel JP.shutdowncommande n'est pas du tout impliquée dans le processus d'arrêt complet; s'il peut envoyer des messages d'avertissement ou toucher / exécuter / nologin, tout ce qu'il fait pour arrêter réellement consiste à envoyer la commande appropriée à systemd, init, etc., et à quitter. Le processus init ou son système de remplacement moderne effectue en réalité le travail d’arrêt du système.
shutdownsont sous vos yeux. Penser cela est aussi faux que le non-sens de l' introduction de Linux à TLDP qui dit que "UNIX n'est pas fait pour être arrêté". UNIX a en effet été conçu pour être fermé. Il existe de nombreux ouvrages au cours des 40 dernières années pour les professionnels UNIX qui couvrent toute la procédure, avec des messages d'avertissement destinés aux utilisateurs constituant la première étape.
shutdownà la page 22, mais ce n’est pas dans ma bibliothèque. Désolé, M. Smith. (-: Ma bibliothèque contient des éléments tels que la référence SVR5 de Coffin (l’étape de mise en garde des utilisateurs décrite aux pages 355 et 683), un Guide de l’administrateur système SCO UNIX (avertissements destinés aux utilisateurs lors de la première étape de la fermeture, pages 52–53), et même de Fielder / L' administration système UNIX de Hunter (l'intégralité du chapitre 6 concerne l'arrêt, avec des avertissements aux utilisateurs au début du chapitre). On peut trouver de nombreux autres livres destinés aux professionnels couvrant ce sujet.
Non.
Explorer n'appelle pas cette commande lorsque vous quittez le menu Démarrer.
Il est possible d'arrêter le système avec un appel d'API Win32 (la réponse de @ JdeBP fournit d'excellents détails à ce sujet si cela vous intéresse). La commande est juste un moyen pratique de le faire à partir d'un script, d'une tâche planifiée ou de la boîte de dialogue Exécuter.
shutdown.exene fait même pas un arrêt gracieux.
shutdownl'origine. (Ces parties de) les programmes d'installation sont souvent écrits dans des langages compilés qui appellent simplement l'API Win32, soit dit en passant.
Comme expliqué par ultrasawblade (vote ascendant), l’arrêt du système est un appel de l’API Win32 à: ExitWindowsEx
Le lien contient également un exemple sur la façon d'implémenter un arrêt depuis C. Vous pouvez également le faire depuis C # en utilisant P / Invoke (Platform Invoke). pinvoke.net a un tas de signatures disponibles pour utilisation: http://www.pinvoke.net/default.aspx/user32/exitwindowsex.html
Ce n'est pas nécessaire. shutdown.exeest juste un utilitaire pour éteindre un ordinateur local ou distant. Il ressemble shutdown.exeutilise les API native « s NtShutdownsystem. Alors que Windows utilise ExitWindowsEx( comme déjà mentionné ).