Czy plik jest C:\windows\system32\shutdown.exeniezbędny do zamknięcia lub ponownego uruchomienia systemu Windows?
shutdown -s -t 0- zwykły shutdownwyświetla tylko pomoc.
Czy plik jest C:\windows\system32\shutdown.exeniezbędny do zamknięcia lub ponownego uruchomienia systemu Windows?
shutdown -s -t 0- zwykły shutdownwyświetla tylko pomoc.
Odpowiedzi:
Twoje pytanie pochodzi oczywiście z Twojej odpowiedzi na stronie https://codegolf.stackexchange.com/a/24011/18907 , w szczególności z kinokijufkomentarza do pierwszej wersji odpowiedzi.
Jak już kinokijufpowiedziano, Windows nie jest Uniksem. W systemach Unices i Linux shutdownjest rzeczywiście zaangażowany w proces pełnego zamykania systemu. Jest to program, który wysyła regularne komunikaty ostrzegawcze do zalogowanych użytkowników i zapisuje /run/nologinplik, aby zapobiec dalszemu logowaniu na krótką chwilę przed planowanym czasem wyłączenia.
W systemie Windows NT tak nie jest.
Akcja „Zamknij” na „przycisku zasilania” w menu Start Eksploratora Windows, opcja menu „Zamknij” w Menedżerze zadań, REBOOT /Sw TCC lub Take Command oraz w innych aplikacjach, które umożliwiają zamknięcie systemu, wszystkie inicjują zamknięcie przez bezpośrednie wywołanie jednego z dwóch wywołań API Win32: InitiateSystemShutdownEx()lub ExitWindowsEx(). Nie robią rzeczy pośrednio, uruchamiając shutdownprogram. (To w rzeczywistości wymaga więcej kodu niż tylko wywołanie wywołania Win32 API). shutdownProgram, gdy robi się lokalne zamknięcie, wywołuje również te same wywołania Win32 API.
To rzeczywiście winlogon, csrssi smssże są programy, które zamknąć system Windows NT. W szczególności jest winlogonto główna praca przetwarzania odroczonych żądań zamknięcia.
shutdown. Strony podręcznika FreeBSD 9.2 . 19.03.2013.shutdown. systemdstrony podręcznika . 2013. Freedesktop.org.shutdown. upstartstrony podręcznika . 2009. Canonical Ltd.InitiateSystemShutdownEx. MSDN. Korporacja Microsoft.ExitWindowsEx. MSDN. Korporacja Microsoft.REBOOT. Weź pomoc w zakresie poleceń / TCC. Oprogramowanie JP.shutdownpolecenie to wcale nie bierze udziału w procesie pełnego zamykania; podczas gdy może wysyłać komunikaty ostrzegawcze lub dotykać / uruchamiać / nologin, wszystko, co robi w związku z faktycznym zamknięciem, to wysłanie odpowiedniej komendy do systemd, init itp. i wyjście. Proces inicjowania lub jego nowoczesny system zastępczy faktycznie powoduje zamknięcie systemu.
shutdownsą tuż przed tobą. Myślenie, że jest tak błędne, jak nonsens we Wstępie do Linuksa na TLDP, który mówi, że „UNIX nie został zamknięty.” UNIX rzeczywiście został stworzony, aby zostać zamknięty, aw ciągu ostatnich 40 lat dla profesjonalistów UNIX było całkiem sporo książek, które opisują całą procedurę, z ostrzeżeniami dla użytkowników jako krok nr 1.
shutdownna stronie 22, ale nie ma go w mojej bibliotece. Przepraszam, M. Smith. (-: Moja biblioteka ma takie Coffin's SVR5 Reference (ostrzeżenie dla użytkowników opisane na stronach 355 i 683), SCO UNIX System Administrator Guide (ostrzeżenia dla użytkowników jako pierwsze zamknięcie na stronach 52–53), a nawet Fieldera / Hunter UNIX System Administration (cały rozdział 6 dotyczy zamykania systemu, z ostrzeżeniem dla użytkowników na początku rozdziału). Można znaleźć wiele innych książek dla profesjonalistów zajmujących się tym
Nie.
Eksplorator nie wywołuje tego polecenia po zamknięciu z menu Start.
Zamykanie systemu jest możliwe dzięki wywołaniu Win32 API (odpowiedź @ JdeBP zawiera szczegółowe informacje na ten temat, jeśli są zainteresowani). Polecenie jest po prostu wygodnym sposobem na zrobienie tego ze skryptu, zaplanowanego zadania lub okna dialogowego Uruchom.
shutdown.exenawet nie robi wdzięcznego zamknięcia.
shutdowntym, że pytający pierwotnie wypowiedział się. (Te części) instalatorów są często pisane w skompilowanych językach, które, nawiasem mówiąc, wywołują Win32 API.
Jak wyjaśniono w ultrasawblade (upvote), zamknięcie systemu to wywołanie Win32 API do: ExitWindowsEx
Łącze zawiera również przykład implementacji zamykania z C. Ponadto można to zrobić z C # przy użyciu P / Invoke (Platform Invoke). pinvoke.net ma do dyspozycji kilka podpisów: http://www.pinvoke.net/default.aspx/user32/exitwindowsex.html
To nie jest konieczne. shutdown.exeto tylko narzędzie do zamykania komputera lokalnego lub zdalnego. Wygląda na to shutdown.exewykorzystuje Native API „s NtShutdownsystem. Podczas gdy Windows używa ExitWindowsEx( jak już wspomniano ).