Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91341220
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-03-19 22:26:41

本 程 序 采 用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

阅读(450) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~