SCO UNIX基础讲座--第九讲:管理进程

用低优先级运行进程

nice(C)指令用於以较低的调度优先级执行命令,每个进程都有
一个 nice 值,用於计算它的优先级 。nice 值在 0 到 39 范围内,
高值获得低优先级,不给实参的默认情况是 nice 值 20 。超级用户
可指定负值,以提高优先级 。

在注销进程後进程继续执行

後台启动的进程,默认情况下,当注销後就不再存在,但是,可
以使用 nohup(c)指令,让进程不受挂起和注销影响,得以继续
运行,例如:

$ nohup sort bigfile>sortfile &

4567

$ exit

当用户注销时,用户未用输出改向,输出将送到当前目录下的
nohup.out 文件中,如果当前目录不可写,则输出改向到
$HOME/nohup.out 。

重新启动安全级精灵进程

根据 C2 安全级要求,某些精灵进程用 LUID (Login User
IdentifIEr)标记运行,如此只能用 sd(ADM)实用程序重新启
动他们 。

如果 LUID 限制有效的话(高安全级),只能用 sd(ADM),例
如 cron(C)这样的精灵,在高安全级下要 sd 重新启动它 。

进程终止实用程序

需要终止实用程序时,可以通过发信息给进程,使它自杀,通常
会用在终止一些已挂起的或是运行的进程 。

语法如下:

$ kill [-signal]

例如

$ kill 4411

4411:terminated

这样,只能终止运行优先级大於 25 的进程,小於 25 优先级的进
程只能在重新引导系统中撤注它 。

调度单个作业执行

at(C)指令使得在某指定时间执行一组命令一次,主要用於在系统
活动较少的情况下,在预定时限(例如在半夜後或每日固定时间)
内运行指令 。

要重新定向,可以使用标准输入,或可文件输入;在打入完整的
at 指令後,就会显示出将要运行的作业号与时间 。

语法如下:

$ at time [date] [increment] < [filename]

任何用户都能运行一个 at 作业,但必须给予授权 。

指定单个作业调度时间

时间格式为 hr:min 或 min,hr ,用 a.m 或 p.m 指定上午或下午,
有效时间包括 no on,midnight 和 now,指定日期则用「月日
〔年〕」格式,例如 Feb14 。一星期那一天也可用 monday、
mon、today 或 tomorrow 代替 。

.at 指令从标准输入中,读入打算在以後某一时刻所执行的命令:

$ at 14:00 Jan

sort /u/user1/file

/u/user1/sort

ctrl>d

job 61202778.a at Thu Jan 4 14:00:00 1996

记著使用时,要用全路径名指定文件 。指令输出以电子邮件发送
给用户,也可输出改向到文件或终端 。

列出单个调度作业

使用命令

$ at -1

job 612027780.a at Wed Jan 24 08:43:00 1996

job 612027900.a at Wed Jan 24 08:43:00 1996

若指定 jod_id,一般用户会得到一张自己所有作业的表,根用户
则能取得全部作业的表 。

撤消单个调度作业

使用以下指令撤消作业:

$ at -r

可以使用匹配符撤销多个作业 。at 的作业存放在
usr/spool/cron/atjobs

在一般数据库上调度作业

用 crontab (C)指令,从指定文件或标准输入拷贝或编辑成用户
的 crontab 文件,该文规定了在指定日期和时间调度运行一些指
令 。

crontab 指令提供了对 cron 系统精灵要执行的作业,清理 /tmp ,
撤销在一般数据上日记文件或不想要的文件,以及检查空间,邮
寄警告予用户等 。

/usr/lib/cron/cron.allow 文件列出了能使用 cron 的用户,

推荐阅读