1 / 21

红帽企业 Linux 用户基础 RHA030

红帽企业 Linux 用户基础 RHA030. 11 单元. 观察和管理进程. 目标. 本单元你将学习到 : 解释进程是什么 描述怎样管理进程 使用 job 控制工具 调度递归任务 在 shell 脚本中 , 使用条件判断进行构建. 进程. 进程是加载到内存中的指令集 进程 ID 号 (PID) 唯一标识进程 UID,GID 和 SElinux 上下文决定文件系统的存取权限 通常继承自执行用户的权限. 进程列表. 用 ps 查看进程信息 默认显示当前终端进程 a 包括所有终端的进程 x 包括不属于终端的进程 u 打印进程所有者信息

Download Presentation

红帽企业 Linux 用户基础 RHA030

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 红帽企业Linux用户基础RHA030

  2. 11单元 观察和管理进程

  3. 目标 • 本单元你将学习到: • 解释进程是什么 • 描述怎样管理进程 • 使用job控制工具 • 调度递归任务 • 在shell脚本中,使用条件判断进行构建

  4. 进程 进程是加载到内存中的指令集 进程ID号(PID)唯一标识进程 UID,GID和SElinux上下文决定文件系统的存取权限 通常继承自执行用户的权限

  5. 进程列表 用ps查看进程信息 默认显示当前终端进程 a 包括所有终端的进程 x 包括不属于终端的进程 u 打印进程所有者信息 f 打印进程亲缘信息 o property1,property2…打印定制信息 pid,comm,%cpu,%mem,state,tty,euser,ruser等 示例 ps auo pid,%cpu,comm

  6. 查找进程 灵活性:ps options|其它命令 axo comm,tty|grep ttyS0 通过预定义模式:pgrep $ pgrep –U root $ pgrep –G student 通过准确的程序名:pidof $ pidof bash

  7. 信号 最基本的进程间通讯机制 直接发送给进程,不需要用户界面 对于任何信号应用程序都需要相应处理 通过名字或者号码来确定一个信号: Signal 15:TERM(默认) – 终止干净 Signal 9,KILL - 立即终止 Signal 1, HUP – 重读配置文件 man 7 signal 显示完整列表

  8. 给进程发送信号 通过pid:kill [signal] pid… 通过名称:killall [signal] comm… 通过模式:pkill [-signal] pattern

  9. 调度优先级 调度优先级决定对cpu的访问 进程的nice值影响优先级 值范围为-20到19,缺省为0 低nice值意味着高cpu优先级 通过ps –o comm,nice查看

  10. 更改调度优先级 Nice值可以被修改 当启动进程的时候: $ nice –n 5 command 在启动进程之后: $ renice 5 PID 只有root用户才能降低nice值

  11. 交互式进程管理工具 CLI:top GUI:gnome-system-monitor 性能: 显示实时进程信息 允许排序,终止和调优先级

  12. 作业控制 在后台运行一个进程 给命令行尾附加一个符号:firefox & 临时停止一个正运行的程序 使用ctrl-z或者发送signal 19(停止) 管理后台或者挂起的作业 显示作业号和名字:jobs 在后台恢复:bg [%jobnum] 在前台恢复:fg [%jobnum] 发送一个信号:kill [-SIGNAL] [%jobnum]

  13. 调度进程以后执行 非重定向输出,电子邮件给用户 root用户能修改其它用户的作业 • 使用at命令使作业运行一次,使用crontab循环调度作业

  14. Crontab文件格式 crontab条目包括5个空格分隔组成的字段,后面紧跟着命令行 每行一条目,不限制行的长度 字段包括分钟,小时,月日,月,周日 #表示行注释 详情参见man 5 crontab

  15. 分组命令 两种方法来分组命令 合成:date;who|wc –l 背靠背运行命令 Subshell:(date;who|wc –l)>>/tmp/trace 所有输出都送给一个单一的stdout和stderr

  16. exit状态 进程通过exit状态表示成功或失败 0表示成功,1-255表示失败 $?存储最近执行的命令的exit状态 exit[num] 终止并且设置进程状态为num 示例 $ ping –c1 –W1 station999 &>/dev/null $ echo $? 2

  17. 条件执行操作 基于各种exit状态,命令可按条件执行 &&表示条件然后 ||表示条件否则 示例: $ grep –q no_such_user /etc/passwd || echo ‘No such user’ No such user $ ping –c1 –W2 station1 &>/dev/null \ > && echo “station1 is up” \ >|| (echo ‘station1 is unreachable’;exit 1) station1 is up

  18. test命令 在条件执行时评定一个布尔语法 为真时返回0 为假时返回1 长形式示例: $  test "$A"  =  "$B" && echo "Strings are equal" $ test "$A" -eq "$B" && echo "Integers are equal" 速记符号示例: $ [ "$A"  =  "$B" ] && echo "Strings are equal" $ [ "$A" -eq "$B" ] && echo "Integers are equal"

  19. 文件测试 文件测试: -f 测试查看一个文件是否存在以及是否是一个常规文件 -d 测试查看一个文件是否存在以及是否是一个目录 -x测试查看一个文件是否存在以及是否可执行 [ -f ~/lib/functions ] && source ~/lib/functions

  20. 脚本:if 语句 基于命令的exit状态来执行指令 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 if

  21. 结束 问题和答案 摘要 进程是在内存中的指令集 进程通过ps,kill,top,gnome-system-monitor命令来管理 挂起作业用Ctrl-z,管理作业用fg,bg命令 crontab exit状态 test If 语法

More Related