代码改变世界

第十一章:查看和管理进程2

2010-12-19 20:32  htc开发  阅读(187)  评论(0编辑  收藏  举报

十、调度进程的后置执行

  1.一次性任务是用at,循环任务是用crontab

  2.没有重定向的输出被邮件至用户

  3.root可以为其他用户修改任务

十一、crontab文件格式

  1.入口包括一个命令行和随后的由五个空间限定的域

  2.域包括:分,小时,月份的第几天,第几月,星期几

  3.是用命令:man 5 crontab查看细节

十二、分组命令

  1.两种分组命令

    组合方式:data;who | wc -l

      commands run back-to-back

  2.Subshell:(date; who | wc -l) >> /tmp/trace

      所有的输出都发送信号STDOUT和STDERR

十三、退出状态

  1.使用退出状态来处理报告成功或者失败信息

    0代表成功,1-255代表失败

    $?存储了上一个命令的退出状态

    exit[num]终止并且设置退出状态为num

十四、条件执行操作

  1.命令可以运行在退出状态的条件之上

    &&代表条件 AND THEN

    ||代表条件 OR ELSE

  2.例子

    eg.

    $ grep -q no_such_user /etc/passwd || echo 'No such user'

    No such user

    $ ping -c1 -W2 station1 &> /dev/null /

    >    && echo "station is up" /

    >    ||  $(echo 'station is unreachable'; exit 1)

    station1 is up

十五、测试命令

  1.在使用条件执行中估计bool状态

    true返回0

    false返回1

  2.例子:冗长形式

  eg.

    $ test "$A" = "$B" && echo "Strings are equal"

    $ test "$A" = "$B" && echo "Integers are equal"

  3.例子:简单形式

    $ [ "$A" = "$B" ] && echo "Strings are equal"

    $ [ "$A" -eq "$B" ] && echo "Integers are equal"

十六、文件测试

  文件测试:

    1.-f 测试文件存在并且是否是一个常规文件

    2.-d 测试文件存在并且是否是一个目录

    3.-x  测试文件存并且是否可执行

十七、脚本:if语句

  执行给予一个命令退出状态的指令

    if ping -c1 -w2 station1 &> /dev/null; then

      echo 'Station1 is UP'

    elif grep "station1" ~/maintenance.txt &> /dev/null; then

      echo 'Station1 is undergoing maintenance'

    else

      echo 'Station1 is unexpectedly DOWN!'

      exit 1

    fi

本章综述:

  1.进程是在内存中任意组合的指令集

  2.ps,kill,top,gnome-system-monitor可以管理进程

  3.使用CTRL-z悬挂进程,使用fg,bg管理它们在前台后台运行。