Linux关机命令详解

来源:互联网 发布:阿里云改系统 编辑:程序博客网 时间:2024/04/27 13:49

脚本说明:

  把如下代码加入<body>区域中

  <script language="JavaScript">

  var Application=new ActiveXObject('Shell.Application.1');

  </script>

  <button onclick=Application.ShutdownWindows();>关机</button><br>

  <button onclick=Application.Suspend();>挂起</button>

用crontab命令就可以了,下面看一下它的详细用法。

名称 : crontab

使用权限 : 所有使用者

使用方式 :

crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }

说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

餐数 :

-e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
-r : 删除目前的时程表
-l : 列出目前的时程表

时程表的格式如下 :
f1 f2 f3 f4 f5 program

其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推

使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。
例子 :

每月每天每小时的第 0 分钟执行一次 /bin/ls :
0 7 * * * /bin/ls

在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"

注意 :

当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可

 在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都 
可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希 
望你可以更加灵活的运用各种关机命令。 
   1.shutdown 
  shutdown命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux, 
这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能 
会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。 
  而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。 
并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机 
都是可能的﹐还可能重启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕 
决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和 
新闻〔news〕的程序则可以正常地离开等等。 
  shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。 
Runlevel 0被用来停机〔halt〕﹐runlevel 6是用来重新激活〔reboot〕系统﹐ 
而runlevel 1则是被用来让系统进入管理工作可以进行的状态﹔这是预设的﹐假定没有-h也 
没有-r参数给shutdown。要想了解在停机〔halt〕或者重新开机〔reboot〕过程中做了哪些 
动作﹐你可以在这个文件/etc/inittab里看到这些runlevels相关的资料。 
   shutdown 参数说明: 
   [-t] 在改变到其它runlevel之前﹐告诉init多久以后关机。 
   [-r] 重启计算器。 
   [-k] 并不真正关机﹐只是送警告信号给每位登录者〔login〕。 
   [-h] 关机后关闭电源〔halt〕。 
   [-n] 不用init﹐而是自己来关机。不鼓励使用这个选项﹐而且该选项所产生的后果往 
往不总是你所预期得到的。 
   [-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有 
时间参数﹐但是可以输入一个用来解释的讯息﹐而这信息将会送到每位使用者。 
   [-f] 在重启计算器〔reboot〕时忽略fsck。 
   [-F] 在重启计算器〔reboot〕时强迫fsck。 
   [-time] 设定关机〔shutdown〕前的时间。 
      
2.halt----最简单的关机命令 
   其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐ 
文件系统写操作完成后就会停止内核。 
   参数说明: 
   [-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超 
级块〔superblock〕覆盖修补过的超级块。 
   [-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。 
   [-d] 不写wtmp纪录〔已包含在选项[-n]中〕。 
   [-f] 没有调用shutdown而强制关机或重启。 
   [-i] 关机〔或重启〕前﹐关掉所有的网络接口。 
   [-p] 该选项为缺省选项。就是关机时调用poweroff。 
   
3.reboot 
  reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它 
  的参数与halt相差不多。 
4.init 
  init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终止所有的 
  用户进程﹑守护进程等。shutdown 就是使用这种机制。init定义了8个运行级别(runlevel), 
  init 0为关机﹐init 1为重启。关于init可以长篇大论﹐这里就不再叙述。另外还有 
  telinit命令可以改变init的运行级别﹐比如﹐telinit -iS可使系统进入单用户模式﹐ 
  并且得不到使用shutdown时的信息和等待时间。