RH124 9.0 ——第八章 监控和管理Linux进程

发布时间:2026/6/30 8:47:28

RH124 9.0 ——第八章 监控和管理Linux进程 一、进程状态和生命周期1、进程的定义进程是已启动的可执行程序的运行中实例。从进程创建那一刻起它由以下项目组成已分配内存的地址空间安全属性包括所有权凭据和特权程序代码的一个或多个执行线程进程状态进程的环境是包含以下项目的信息列表本地和全局变量当前调度上下文分配的系统资源如文件描述符合网络端口现有的父进程复制自己的地址空间来创建子进程结构。每个新进程分配有一个唯一进程IDPID满足跟踪和安全性之需。PID和父进程IDPPID是新进程环境的元素。任何进程都可以创建子进程。所有进程都是第一个系统进程的后代第一个系统进程是systemd。通过分叉例程子进程继续安全性身份、过去和当前的文件描述符、断藕和资源特权、环境变量以及程序代码。随后子进程可以执行其自己的程序代码。通常父进程在子进程运行期间处于睡眠状态设置一个在子进程完成时发出信号的等待需求。2、描述进程状态名称标志内核定义的状态名称和描述运行中RTASK_RUNNING正在cpu上运行或者正在等待运行。睡眠STASK_INTERRUPTIBLE进程正在等待某一条件硬件请求、系统资源访问或信号DTASK_UNITERRUPTIBLE睡眠状态与S不同于不会响应信号。尽在进程中断可能会导致意外设备状态的情况下使用。KTASK_KILLABLE与D相同但允许等待中的人物响应要被终止的信号。ITASK_REPORT_IDLED的自己。已停止TTASK_STOPPED进程已经被停止通常是通过用户或其他进程发出的信号。TTASK_TRACED正在被调试的进程也会临时停止并且同享同一个T状态标志。僵停ZEXIT_ZOMBLE子进程在退出时向父进程发出信号。除进程身份之外的所有资源都已释放。XEXIT_DEAD读进程清理剩余子进程结构时进程现在已彻底释放此状态无法在进程列出实用程序中看到。top命令s列显示每个进程的状态ps命令使用aux选项后STAT列显示每个进程的状态3、列出进程ps命令用于列出当前进程的详细信息用户识别符UID确定进程的特权唯一进程识别符PID已用CPU量和实际时间分配的内存量进程stdout位置称为控制终端当前的进程状态ps命令使用lax选项提供更详细的信息并且通过避免查询用户名可以加快显示-ef选项来显示所有进程--forest选项以树形格式显示进程从而查看父进程和子进程之间的关系- O或--sort选项对输出进行排序。二、控制作业1、描述作业和会话借助作业控制shell功能单个shell实例可以运行和管理多个命令。作业与在shell提示符中输入的每个管道相关联。一次只能有一个作业从特定终端窗口中读取输入和键盘生成的信号。属于该作业的进程是该控制终端的前台进程。该控制终端的后台进程是与该终端相关联的任何其他作业。每个终端在其自身的会话中运行并且可以具有一个前台进程和任意数量的后台进程。一个作业仅在属于其控制终端的一个会话中。ps命令TTY列中显示控制终端的设备名称。2、在后台运行作业任何命令或管道都可以在后台启动只需要在命令上附加一个符号即可。显示作业编号特定于会话的唯一编号和新建子进程的PID。[userhost ~]$sleep 10000 [1] 5947 [uaerhost ~]如果将包含竖线的命令行发送到后台将显示管道中最后一个命令的PID。所有管道进程仍是该作业的成员。[userhost ~]$example_command | sort | mail -s Sort output [1] 5998jobs命令显示shell会话的作业列表[userhost ~]$ jobs [1] Running sleep 10000 fg命令将后台作业置于前台[userhost ~]$fg %1 sleep 10000若要将前台进程发送到后台请首先在终端中按键盘生成的暂停请求Ctrlz。ps j 命令显示与作业相关的信息查找进程和会话信息bg命令启动暂停的进程[user!host ~]$bg %1 [1] sleep 100 三、中止进程1、使用信号控制进程信号时传递至进程的软件中断。信号向执行中的程序报告时间。生成信号的事件可以是错误或外部事件或者来自于显式使用信号发送命令或键盘序列。信号名称定义1HUPHangup报告终端控制进程的终止。也请求进程重新出实话而不终止。2INTKeyboard interrupt导致程序终止。可以背拦截处理。通过按INTR中断键序列发送。3QUITKeyboard quit与SIGINT相似在终止时添加进程转储。通过按QUIT键序列Ctrl\发送。9KILLkillunblockable导致程序终止。无法被拦截、忽略或处理总是致命的。15默认TERMTerminate导致程序终止。和SIGKILL不同可以被拦截、忽略或处理。要求程序终止的”干净“方式它允许程序完成基本操作和自我清理后再终止。18CONTCintinue发送至进程使其恢复若已停止。无法被拦截即使被处理也始终恢复进程。19STOPStopunblockable暂停进程。无法被拦截或处理。20TSTPKeyboard stop和SIGSTOP不同可以被拦截、忽略或处理。通过按暂停键序列Ctrlz发送。每个信号都有一个默认操作通常是如下操作之一Term立即终止程序退出。Core保存程序的内存惊喜核心转储然后终止。Stop停止运行中的程序暂停再等待继续恢复。可以通过按下键盘控制序列以暂停Ctrlz、中止Ctrlc或核心转储Ctrl\进程。可以通过名称或编号来指定信号。kill命令使用PID编号向进程发送信号。-l选项列出所有可用信号的名称和编号。pkill命令向一个或多个符合选择条件的进程发送信号-t选项可以将进程与特定终端ID匹配。pgrep命令确定要中止的PID编号-l选项列出进程名称和ID-u选项来指定拥有进程的用户的ID。w命令确定会话的终端控制然后仅中止引用同一终端ID的进程。pstree命令查看系统或单个用户的进程树。killall命令可以根据命令名称向多个进程发送信号。2、终止后台作业若要终止后台作业请使用kill命令并指定作业编号。使用jobs命令查找要终止的进程的作业编号。使用kill命令终止特定的作业在作业编号上添加前缀百分号。3、以管理员身份注销用户使用w命令列出用户登录和当前运行的进程记录TTY和FROM列以确定要关闭的会话。设备名称为pts/N说明这是一个与图形终端窗口或远程登录会话相关联的伪终端如果为ttyN说明用户位于一个系统控制台、代替控制台或其他直接链接的终端设备上。四、监控进程活动1、描述负载平均值uptime命令是现实当前负载平均值的一种方法[userhost ~]$uptime 15:29:03 up 14 min, 2 suers, load average:2,92,4.48,5.20这三个负载平均值代表了最近1、5、15分钟的负载情况。它指出了系统负载似乎在增高还是降低。lscpu命令确定系统上存在的cpu数。2、实时进程监控top命令显示系统进程的动态视图以及一个摘要标题后跟一个进程或线程列表。

相关新闻