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

来源:岁月联盟 编辑:zhu 时间:2008-04-05
SCO UNIX基础讲座--第九讲:管理进程内容简介:用低优先级运行进程 nice(C)指令用於以较低的调度优先级执行命令,每个进程都有一个 nice 值,用於计算它的优先级。nice 值在 0 到 39 范围内,高值获得低优先级,不给实参的默认情况是 nice 值 20。超级用户 用低优先级运行进程

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

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

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

  $ nohup sort bigfile>sortfile &

  4567

  $ exit

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

  重新启动安全级精灵进程

  根据 C2 安全级要求,某些精灵进程用 LUID (Login UserIdentifier)标记运行,如此只能用 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 的用户,/usr/lib/cron/cron.deny 文件列出了拒绝存取 cron 的用户,仅当 cron.allow 文件不存在时,cron.deny 文件才起作用。

  指定作业及其调度时间

  作业可能是单个指令或包含多道指令的 shell 脚本,指令输出邮寄给用户,也可输出改向到文件或终端。在文件中打入作业及运行时间,以运行此作业。文件可取任何名字,但是,不允许包括首尾部和空白行,而且,最好取 .cronfile ,这种取名反映其功能,易记易理解。.cronfile 文件可用正文编辑或 vi 创建。

  每个用户仅提供一个 .cronfile文件,每当执行 crontab 指令时,新文件会盖写原先文件。编辑已存在的 .cronfile 文件,增加或修改一个作业,然後用 crontab 重新提交 .cronfile 。而每个用户的登记项会存放在/usr/spool/crontabs/。

  列出或修改 cron 作业

  要列出当前提供的 cron 作业,可以打入:

  $ crontab -1

  修改 cron 项,使用指令:

  $ crontab -1 >.cronfile

  $ vi .cronfile

  $ crontab .cronfile

  如要撤销 cron 作业,则打入:

  $ crontab -r

  但有一样,请留意,根用户没有 .cronfile 文件。

图片内容