Linux之进程管理

本文详细介绍了Linux系统下的进程管理,包括进程的工作原理、如何查看和动态监控进程、使用kill和killall命令发送信号以及相关命令的使用。通过学习,读者能够掌握Linux环境下管理进程的基本操作和技巧。
摘要由CSDN通过智能技术生成

进程

现代操作系统通常是多任务的,意味着它们会从一个正在执行的程序切换到另一个正在执行的程序,从而让你产生一次做多件事的错觉。 Linux内核通过使用进程进行管理。 进程是Linux如何组织等待CPU轮换的不同程序的过程。以下将介绍:

  • ps - 报告当前进程的快照
  • top - 动态显示任务
  • jobs - 列出活动进程
  • kill - 向进程发送信号
  • killall - 按名称终止进程
  • shutdown - 关机

进程如何工作

当系统启动时,内核会启动自己的一些程序,例如进程启动一个名为init的程序。init依次运行一系列shell脚本(位于/etc)称为init脚本,它将启动所有系统服务。其中许多服务是作为后台程序执行,这些程序仅位于后台并执行没有任何用户界面的东西。因此,即使我们尚未登录,系统也会处于日常工作状态。一个可以启动其他进程的进程叫做该进程的父进程

内核维护有关每个进程的信息,以使事情井井有条。例如,为每个进程分配了一个称为进程ID或PID的数字。PID是以升序分配的,initPID始终为1。内核也保持跟踪分配给每个进程的内存,以及进程准备恢复执行。像文件一样,进程也具有所有者和用户ID,有效的用户ID等。

查看进程

[root@iZerb5rob3dcf6Z ~]# ps 
  PID TTY          TIME CMD
13119 pts/0    00:00:00 bash
25706 pts/0    00:00:00 ps

此示例中的结果列出了两个进程,分别为bashps,分别为进程13119和进程25706。 TTY是“Teletype”的缩写,是指该过程的控制终端。 TIME字段是进程消耗的CPU时间量。 可见,这两个过程都不会是计算机耗费太多内存。

[root@iZerb5rob3dcf6Z ~]# ps x
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:03 /usr/lib/systemd/systemd --system --deserialize 15
    2 ?        S      0:00 [kthreadd]
    4 ?        S<     0:00 [kworker/0:0H]
    5 ?        S      0:01 [kworker/u4:0]
    ......

添加“x”选项会告诉ps显示所有终端(如果有)控制进程。存在 “ ” 在TTY列表示没有控制终端。使用此选项,我们会看到系统所有进程。

STAT是“state”的缩写,查看进程的当前状态:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值