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