파일 C:\windows\system32\shutdown.exe
을 종료하거나 Windows를 다시 시작해야합니까?
shutdown -s -t 0
일반 shutdown
은 도움말 만 표시합니다.
파일 C:\windows\system32\shutdown.exe
을 종료하거나 Windows를 다시 시작해야합니까?
shutdown -s -t 0
일반 shutdown
은 도움말 만 표시합니다.
답변:
물론 귀하의 질문은 https://codegolf.stackexchange.com/a/24011/18907 의 답변 , 특히 kinokijuf
답변의 초기 개정에 대한 의견 에서 비롯됩니다 .
말했듯이 kinokijuf
Windows는 Unix가 아닙니다. Unices 및 Linux에서는 shutdown
실제로 전체 종료 프로세스에 관여합니다. 정기적 인 경고 메시지를 로그인 한 사용자에게 전송 /run/nologin
하고 예약 된 종료 시간 전에 잠시 동안 추가 로그온을 방지하기 위해 파일을 작성하는 프로그램입니다.
Windows NT에서는 그렇지 않습니다.
Windows 탐색기 시작 메뉴의 "전원 단추", 작업 관리자의 "종료"메뉴 옵션, REBOOT /S
TCC 또는 Take Command 의 "종료"작업 및 시스템을 종료 할 수있는 기타 응용 프로그램은 모두 시스템 종료를 시작합니다. 두 개의 Win32 API 호출 중 하나를 직접 호출하여 : InitiateSystemShutdownEx()
또는 ExitWindowsEx()
. 그들은 shutdown
프로그램 을 실행하여 간접적으로 일을하지 않습니다 . (실제로 Win32 API 호출을 호출하는 것보다 더 많은 코드가 필요합니다.) shutdown
로컬 종료를 수행하는 프로그램은 동일한 Win32 API 호출도 호출합니다.
실제로 winlogon
는 csrss
이며 smss
Windows NT를 종료하는 프로그램입니다. 특히 winlogon
지연된 종료 요청을 처리하는 주요 작업을 수행합니다.
shutdown
. FreeBSD 9.2 매뉴얼 페이지 . 2013-03-19.shutdown
. systemd
매뉴얼 페이지 . 2013. Freedesktop.org.shutdown
. upstart
매뉴얼 페이지 . 2009. Canonical Ltd.InitiateSystemShutdownEx
. MSDN. 마이크로 소프트 회사.ExitWindowsEx
. MSDN. 마이크로 소프트 회사.REBOOT
. Command / TCC 도움말을 참조하십시오. JP 소프트웨어.shutdown
명령은 전체 종료 프로세스와 전혀 관련이 없습니다. 경고 메시지를 보내거나 / run / nologin을 터치 할 수 있지만 실제로 종료하는 것과 관련된 것은 systemd, init 등으로 적절한 명령을 보내고 종료하는 것입니다. init 프로세스 또는 최신 대체 시스템은 실제로 시스템 종료 작업을 수행합니다.
shutdown
가 바로 앞에 있습니다. "UNIX가 종료되지 않았다"고 말하는 TLDP의 Linux 소개 에서 말도 안되는 생각이다 . 유닉스는 실제로 종료되도록 만들어졌으며, 지난 40 년 동안 유닉스 전문가들이 전체 절차를 다루고 있으며 사용자에게 경고 메시지를 1 단계로 알리는 책이 많이 있습니다.
shutdown
했지만 내 라이브러리에는 없습니다. 죄송합니다, 스미스 (-: 내 라이브러리에는 Coffin의 SVR5 참조 (355 및 683 페이지에 설명 된 경고 사용자 단계), SCO UNIX 시스템 관리자 안내서 (52-53 페이지의 종료 첫 단계로 사용자에게 경고) 및 Fielder 's / Hunter의 UNIX 시스템 관리 (6 장 전체는 종료에 관한 경고 사용자와 함께 종료에 관한 것입니다.)이 부분을 다루는 전문가를위한 더 많은 책을 찾을 수 있습니다.
아니.
시작 메뉴에서 시스템 종료시 탐색기는이 명령을 호출하지 않습니다.
Win32 API 호출로 시스템을 종료 할 수 있습니다 (@JdeBP의 답변은 관심이있는 경우 이에 대한 자세한 정보를 제공함). 이 명령은 스크립트, 예약 된 작업 또는 실행 대화 상자에서 수행하는 편리한 방법입니다.
shutdown.exe
정상적인 종료조차하지 않습니다.
shutdown
질문자가 처음 작성한 것에 대한 진술에 대해서는 질문의 맥락 (질문에는 없지만 내 대답과 거기에 지적 된 내용)을 참조하십시오 . (이 부분들) 인스톨러들은 종종 Win32 API를 호출하는 컴파일 된 언어로 작성됩니다.
ultrasawblade (upvote)에서 설명한대로 시스템 종료는 다음에 대한 Win32 API 호출입니다. ExitWindowsEx
이 링크에는 C에서 종료를 구현하는 방법에 대한 예제도 있습니다. 또한 P / Invoke (Platform Invoke)를 사용하여 C #에서이를 수행 할 수 있습니다. pinvoke.net은 사용 가능한 많은 서명을 가지고 있습니다 : http://www.pinvoke.net/default.aspx/user32/exitwindowsex.html
필요하지 않습니다. shutdown.exe
로컬 또는 원격 컴퓨터를 종료하는 유틸리티 일뿐입니다. 그것은과 같은 shutdown.exe
용도 네이티브 API가 의 NtShutdownsystem
. 윈도우 사용하지만 ExitWindowsEx
( 이미 언급 ).