标题：shutdown
简介
进程文件：Shutdown or Shutdown.exe  shutdown进程名称：Shutdown Event Tracker 
进程类别：应用进程
英文描述：
Shutdown.exe is a process belonging to MicrosoftWindows2003 Serversuites on onwards. It prompts your administrator for a reason for shutting down your server. This process should not be terminated
中文参考：
Shutdown.exe是Microsoft Windows 2003和以上服务器版操作系统的一部分，用于管理员关闭你的服务器。
出品者：Microsoft 
属于：Microsoft Windows Server Operating System 
系统进程：No 
后台程序：Yes 
网络相关：No 
常见错误：N/A 
内存使用：N/A 
安全等级 (0-5）： 0 
间谍软件：No 
广告软件：No 
病毒：No 
木马：No
shutdown也是ubuntu下常用的一个命令，和windows下作用差不多。
shutdown
C++ 网络编程 Socket 编程关闭Socket 用的函数，close()
The shutdown function disables sends or receives on a socket.
int shutdown( SOCKETs, int how);
摘自MSDN
操作命令
shutdown.exe -a　取消关机　　shutdown.exe -s 关机 　　shutdown.exe -f　强行关闭应用程序 　　shutdown.exe -m \\计算机名　控制远程计算机　　shutdown.exe -i　显示“远程关机”图形用户界面，但必须是Shutdown的第一个参数 　　　shutdown.exe -l　注销当前用户 　　shutdown.exe -r　关机并重启 　　shutdown.exe -s -t 时间　设置关机倒计时 　　shutdown.exe -h 休眠　　设置关闭前的超时为 xxx 秒。对于windows 2003 系统，有效范围是 0-600，默认为 30 shutdown.exe -c&quot;消息内容&quot;　输入关机对话框中的消息内容(不能超127个字符）。　　比如你的电脑要在24:00关机，可以选择“开始运行”，输入“at 24:00 Shutdown -s”，这样，到了24点，电脑就会出现“系统关机”对话框，默认有30秒钟的倒计时并提示你保存工作。如果你想以倒计时的方式关机，可以输入“Shutdown.exe -s -t 7200”，这里表示120分钟后自动关机，“7200”代表120分钟（7200秒）。如果想取消的话，可以在运行中输入“shutdown -a”。另外输入“shutdown -i”，则可以打开设置远程关机对话框，输入当前计算机的计算机名，对自动关机进行设置。（当没有把当前用户通过下面应用3来加入到“从远端强制关机”上，则这个方法只适应于已在列表中的用户或组，以及管理员）　　Windows 2000也实现同样的效果，可以把Shutdown.exe复制到系统目录System32下　　举例：shutdown.exe -s -m \\student1当然你还可以把shutdown与at配合使用来定时关机，会更加的精确。　　格式：at 关机时间 shutdown 选项 注释内容　　注意：·必须为用户授予关闭系统的用户权利，该用户才能使用shutdown命令关闭本地或远程管理的计算机。用户必须是Administrators组的成员才能对本地或远程管理的计算机的意外关机进行批注。如果目标计算机已加入某个域，则DomainAdmins组的成员可能会执行该过程。如果希望一次关闭多台计算机，可针对每台计算机使用脚本来调用shutdown，或者可使用shutdown/i显示远程关机对话框。·一旦指定了主要和次要原因代码，您必须首先为计划使用某种特定原因的每个计算机定义那些原因代码。如果目标计算机上没有定义原因代码，关闭事件跟踪程序将无法记录正确的原因文本。·　　切记：　　
使用p
省略p
表示关机是计划关机
表示关机是非计划关机
命令不会执行关机
命令不会执行关机
应用：⑴您如果想在1小时后自动关闭计算机，比如：您正在下载一个软件或一部电影，而同学让你出去聚会，您会怎么办？停止下载？太可惜了！继续？下载完后电脑怎么关闭？不用愁！您可以使用该命令解决：shutdown -s -t3600（系统在3600秒后关闭计算机，时间自定）您就放心地去聚会了，而不用担心您的计算机长期开着浪费电了。　　⑵出现RPC漏洞而导致倒计时自动关机，使用该命令取消倒计时自动关机：shutdown -a（方法：”开始”->；”运行”->；“shutdown -a”->；”确定”）之前的网络病毒非常猖獗，如震荡波、冲击波等就是针对WindowsXP的RPC（远程过程调用）漏洞设计的，它导致系统倒计时自动关机，很多人一定为此头痛不已，但你可以用这种方法解决。还可以通过创建快捷方式（桌面->右键点击->快捷方式->输入“shutdown -a”->设置文件名->完成）来防止这种倒计时定时关机。　　⑶利用Shutdown命令实现局域网内远程关机　　在需要远程关机的计算机上执行　　步骤1.单击“开始→运行”，在对话框中输入“Gpedit.msc”，单击<；确定>；，打开“组策略编辑器”。　　步骤2在“组策略编辑器”窗口的左边打开“计算机配置→Windows设置→安全设置→本地策略→用户权利指派”，在右边的窗口双击“从远端系统强制关机”。在弹出的对话框中显示目前只有“Administrators”组的成员才有权远程关机；单击对话框下方的<添加用户或组>按钮，然后在弹出的对话框中输入“Everyone”，再单击<确定>。　　步骤3.这时在“从远端系统强制关机”的属性中便添加了“Everyone”用户，单击<确定>，最后关闭“组策略编辑器”窗口。　　如果需要统一关机，则在所有要关机的电脑执行上面的步骤。　　当需要远程关机时，在发起远程关机的计算机上执行开始->运行”->“shutdown -i”->确定，在弹出的对话框中，单击“添加...”，在每行中输入要远程关机的计算机的计算机名或IP地址，在下面的框中选择关机、重启或注销，在显示警告中输入倒计时（如果不需要倒计时，请取消复选“警告此用户操作”），在最下面的文本框中随便输入一些字符，点击“确定”。　　⑷用XP的ShutDown.exe实现服务器定时重启　　Windows XP及以上系统的关机是由Shutdown.exe程序来控制的，位于Windows\System32文件夹中。如果想让Windows2000也实现同样的效果，可以把Shutdown.exe复制到系统目录System32下。　　首先当然要求主板必须支持软件关机功能，否则你还得亲自去按电源开关才能关机，（主板一般都支持软件关机。)操作步骤：单击“开始”/程序/附件/系统工具中&quot;计划任务&quot;，弹出计划任务窗口，然后双击&quot;添加已计划的任务&quot;，运行“计划任务向导”，按“浏览”，找到WINDOWS目录中的Rundll32.exe文件，单击&quot;打开&quot;按钮，在出现的对话框中键入该任务的名字（如&quot;定时关机&quot;)，执行方式选择“每天”，然后按“下一步”选择定时关机时间（可以先试一下比现在机器上显示的时间晚1分钟），下一步选中“当单击完成打开该任务的高级属性”，单击&quot;完成&quot;，最后右击&quot;定时关机&quot;来打开属性，在运行栏输入“C:\WINNT\system32\shutdown.exe -r -t1”，单击&quot;确定&quot;不久，OK了。　　
注意要点
shutdown.exe -a 如在设置原shutdown时间参数差值太小则有可能来不急操作就已经被执行。
举例如下：
shutdown.exe -s -t 1 （在1秒内关闭计算机）
当这条命令运行时，直到用户输入并执行shutdown -a来取消操作，中间的时间差只有一秒，很明显是不太可能实现的.遗憾的是在Windows中没有类似LINUX下的CTRL+BREAK来强行终止命令的执行.
实际应用
实例：at 12:45 shutdown.exe -s -t 20 就是让机子在12:45关机，并倒计时20秒。须要注意的是在使用它时须先打开 “Task Scheduler”服务。
Linux环境使用
名称 : shutdown  shuntdown linux使用权限 : 系统管理者 
使用方式 : shutdown [-t seconds] [-rkhncfF] time [message] 
说明 : shutdown 可以用来进行关机程序，并且在关机以前传送讯息给所有使用者正在执行的程序，shutdown 也可以用来重开机。
shutdown会安全地将系统关机。在系统将要关机前，所有登入的使用者都会被通知，而且login⑴这个指令会被冻结。直接关机或者是延迟一段特定的时间才关机都是有可能的，这是藉着所有程序（process）都会收到系统所送达信号（signal) SIGTERM. 这让一些象vi⑴ 这一类的程式有时间可以储存目前正在编的档案，而象处理邮件（mail) 和新闻（news）的程式可以正常地离开等等。shutdown 执行他的工作是藉着送信号（signal) 给init 程序，要求他改变runlevel. Runlevel 0是被用来停机（at) ，runlevel 6则是用来重新启动（reboot）系统，而runlevel 1 则是被用来让系统进入管理工作可以进行的状态；这是预设的，假如没有-h也没有-r参数给shutdown。要想了解在停机（halt) 或者重新开机（reboot) 过程中做了哪些动作，你可以在这个档案/etc/inittab里看到这些runlevels 相关的资料。
参数 : 
-t seconds : 设定在几秒钟之后进行关机程序 
-k : 并不会真的关机，只是将警告讯息传送给所有使用者 
-r : 关机后重新开机 
-h : 关机后停机 
-n : 不采用正常程序来关机，用强迫的方式杀掉所有执行中的程序后自行关机 
-c : 取消目前已经进行中的关机动作 
-f : 关机时，不做 fcsk 动作（检查 Linux 档系统） 
-F : 关机时，强迫进行 fsck 动作 
time : 设定关机的时间 
message : 传送给所有使用者的警告讯息
在ubuntu下的用法
在终端中输入shutdown -h now 代表立即关机（now），shutdown后面要加时间，比如"shutdown -r 5"就是5分钟后重启，也可以像windows那样加入时间点，ex:shutdown -h 15:21就是在15:21关机。更详细的解释可以 man shutdown。注：使用shutdown当然还是要取得root权限。
Linux函数通常用于关闭套接字，关闭socket的方式有两个：close，shutdownclose-----关闭本进程的socket id，但链接还是开着的，用这个socket id的其它进程还能用这个链接，能读或写这个socket idshutdown--则破坏了socket 链接，读的时候可能侦探到EOF结束符，写的时候可能会收到一个SIGPIPE信号，这个信号可能直到socket buffer被填充了才收到，shutdown还有一个关闭方式的参数，0 不能再读，1不能再写，2 读写都不能