Linux 进程管理:ps和kill命令详解

什么是进程

程序运行在操作系统中,由操作系统进行管理。每个正在运行的程序,操作系统都会为其注册一个进程,并分配一个唯一的进程ID(PID)

image-20230619145727944

查看进程 — ps 命令

ps 命令用于查看当前系统中的进程信息。

语法

ps [-ef]
  • -e:显示所有进程(等价于 -A)。
  • -f:以完整格式显示信息(包含更多字段)。

常用组合:ps -ef 列出全部进程的完整信息。

输出字段说明

执行 ps -ef 后,输出结果通常包含以下字段:

字段 含义
UID 进程所属的用户名
PID 进程的唯一ID
PPID 父进程ID(启动当前进程的进程ID)
C CPU占用率(百分比)
STIME 进程启动时间
TTY 启动此进程的终端编号;若显示 ? 表示非终端启动(如系统服务)
TIME 进程累计占用CPU的时间
CMD 产生此进程的命令(或进程名、路径)
image-20230619145652813

查看指定进程

通常配合 grep 命令过滤出目标进程:

ps -ef | grep 进程名关键词

例如,查看所有包含 tail 的进程:

ps -ef | grep tail
image-20230619152800123

也可以直接根据PID查找:

ps -ef | grep 进程ID

关闭进程 — kill 命令

在Linux中,可以使用 kill 命令终止指定进程,类似于Windows任务管理器的“结束进程”。

语法

kill [-9] 进程ID
  • 不加 -9:向进程发送终止信号(SIGTERM),进程收到信号后可自行决定是否关闭(允许进行清理操作)。
  • -9:强制终止进程(SIGKILL),进程无法忽略,立即结束。

示例

  • 正常终止PID为1234的进程:

    kill 1234
    
    image-20230621153542301
  • 强制终止PID为1234的进程:

    kill -9 1234
    
    • 注意事项:强制终止可能导致数据丢失或资源未释放,建议优先使用不带 -9 的方式,只有进程无响应时才考虑强制结束。
    image-20230621153646852
posted @ 2023-06-21 15:40  克峰同学  阅读(51)  评论(0)    收藏  举报