荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: zzt (pig), 信区: Linux
标  题: UNIX/XENIX 系 统 日 常 维 护 程 序
发信站: BBS 荔园晨风站 (Sun Oct 18 16:41:18 1998), 转信

本 程 序 采 用shell 编 程, 程 序 短 小 实 用, 具 体 功 能 如 下:

1. 杀 死 一 指 定 终 端
         若 某 一 终 端 在 运 行 某 一 程 序 时 死 机, 或 进 入 死
循 环 时, 就 要 将 其 杀 死, 若 调 用kill 命 令, 每 个 进 程 都 须
调 用 一 次kill, 用 起 来 相 当 繁 琐。 本 程 序 执 行 后, 只 要 选
择“ 杀 终 端" 菜 单, 然 后 输 入 终 端 号“tty" 后 面 的 字 符 即
可 将 终 端 一 次 杀 死, 非 常 方 便。 如 要 杀 死“tty1a", 当 程 序
提 示 输 入 终 端 号 时, 输 入“1a" 回 车 即 可, 程 序 自 动 检 测
该 终 端 所 有 进 程 并 逐 一 杀 死。

2. 杀 掉 所 有 打 印 请 求
         当 选 择 杀 打 印 菜 单 时, 本 程 序 自 动 检 测 并 杀 掉
所 有 打 印 请 求, 不 用 手 工 每 一 请 求 执 行 一 次cancel, 去 逐
一 杀 打 印 请 求。

3. 显 示 当 前 时 间: 可 以 用 汉 字 显 示 时 间、 日 期。

4. 给 网 络 用 户 发 信
         当 准 备 关 机 或 维 护 数 据 时, 可 用 此 向 所 有 用 户
发 信, 发 信 内 容 必 须 用vi 在 根 下 建 一 文 件 名 为t 的 文 件,
文 件t 的 内 容 即 为 发 往 网 上 各 用 户 的 信 息。

5. 关 机
         调 用shutdown 命 令, 并 用 汉 字 发 布 关 机 信 息( 当 有
用 户 使 用 时)。

6. 应 急 关 机
         若 停 电, 或 出 现 紧 急 情 况 时, 调 用haltsys 关 机。
7. 检 查 用 户
         调 用“w" 命 令, 查 看 用 户 何 时 注 册 进 来, 停 用 时 间
及 使 用 时 间, 执 行 何 种 命 令 或 运 行 何 种 程 序。
         说 明:

本 程 序 输 入 后( 用vi 或 其 它 输 入 方 法) 必 须 给 于 其 执 行 权,
“chmod 775 文 件 名", 或 者 用“sh" 执 行 如: sh 程 序 名。

本 程 序 可 在 超 级 用 户 下 直 接 执 行,(sh 程 序 名), 也 可 不 在
超 级 用 户 下 执 行, 但 必 须 给 予 此 用 户 超 级 权 利。 这 样 就
可 以 不 进 超 级 用 户 执 行 日 常 维 护, 具 体 做 法 如 下:
1>建立用户如CJWH修改.profile文件,在其最后加上:
   trap“ exit " 1 2 3 15
  CJWH(程序名)或者 sh CJWH
  exit
trap命令意义如下:
当在程序运行时,如按“delete"键,不使其中断,而且回到注册符“login"下。
2>给予一般用户超级权利,方法如下:
(1)以超级注册;
(2)修改/etc/passwd文件,vi/etc/passwd;
(3)找到相应用户如CJWH;
(4)修改id号。
如CJWH:x:200:50::/usr/cjwh....改为 cjwh:x:0:1::usr/cjwh....
本程序经本单位计算机中心使用,效果良好。
#显示日期、时间函数
sj(){
clear
echo“ \n"
echo“  \n"
echo“  \n"
echo“  \n"
date“+                     %a%h%d%T BJT 19%y"
echo“  \n"
date‘+今天的日期: 19%y年%m月%d日星期%w '
echo“  \n"
date‘+                           现在的时间:%T'
echo“  \n"
echo“  \n"
}
#杀掉所有打印请求
sdy(){
n=1
for w
in ‘lpstat-u’
do
if [$n = 1 ]
then
cancel $w
fi
if [$n = 9 ]
then
cancel $w
fi
n=“‘expr$n+ 1’"
if [$n = 15 ]
then
n=9
fi
done
}
#杀指定的终端(杀掉指定终端的所有进程)
szd(){
s9=$1
n=1
for w
in ‘ps-t“tty"$s9’
do
if [$n = 5 ]
then
kill-9$w
fi
n=“‘expr$n+ 1’"
if [$n = 9 ]
then
n=5
fi
done
}
while true
do
clear
echo“\n"
echo“\n                 系 统 维 护"
echo“\n                 --"
echo“                                                         "
echo“    杀终端--1          发信号--5  "
echo“                                                          "
echo“    杀打印--2          应 急---6  "
echo“                                                         "
echo“    关 机--3           时 间----7  "
echo“                                                         "
echo“    查用户---4       退 出--0  "
echo“                                                          "
echo“                 ----"
echo“\n"
echo“                                请输入选择:\c"
read x
case$x in
    1)echo“   请输入终端号:\c"
     read z
     echo“KILL TTYs"
    szd$z;;
           2)echo“正在杀打印请求  ... "
      sdy;;
    3)echo“   请确认[y/n]:\c"
      read q
      if [$q = y ]
     then
      echo正在关机...
      shutdown-g01-f“现在关机,请退出,以防数据丢失 "
      fi;;
    4)w
      read t;;
    5)echo“   请确认[y/n]:\c"
      read q
      if [$q = y ]
      then
      wall



--
^[[1;36m☆ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.101]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店