首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >base shell的进程命令

base shell的进程命令

原创
作者头像
@锐
修改2026-07-28 15:09:48
修改2026-07-28 15:09:48
2940
举报
文章被收录于专栏:linuxlinux

ps命令 -- 查看进程命令 缩写(process status)

风格选项

  • Unix--- 选项前加单连接符 -
  • BSD--- 选项前不加连字符
  • GUN---- 选项前加双连接符

常用命令

  • ps -aux ---- 打印终端进程(a)+所有当前用户的进程(x)+打印用户名(u)
  • ps -ef ---- 显示所有进程(e)+完整格式显示(f)(UID,PID,PPID,C,STIME,TTY,TIME,CMD)

常用参数 -

  • ps -A --- 显示所有进程,等同 -e
  • ps -a --- 显示非session leader的所有终端进程或者非当前终端进程的其他进程, 包含当前用户+其他用户
  • ps -d --- 显示除会话leader外的所有进程, 会话leader是指创建新会话的初始进程
  • ps -e --- 同-A
  • ps -N --- 显示不符合条件的进程 ps -N --pid = 1(排除pid=1的进程) 等他 --deselect
  • ps -T -- 显示当前终端进程关联的所有终端进程并额外显示协程id,等同-t
  • ps -C -- 按命令名选择 cmdlist
  • ps -u -- 按用户选择
  • ps -p -- 按用户选择
  • ps -x -- 所有当前用户的进程(x)

ps -TL打印的是当前终端进程ps以及父进程bash

ps -al 打印的是所有进程(初始进程除外)+非当前终端进程,所以不存在ps=26578的父进程26320(初始进程)

常用参数 --

  • ps -- ppid 按父进程ID选择
  • ps --sort 指定排序字段 ps --sort=-%cpu ps --sort=-%mem
  • ps --no--headers 不显示标题行 ps -eo pid,cmd --no-headers

输出格式控制

  • ps -f 完整格式
  • ps -F 额外的完整格式 跟-f相比多了RSSPSR
  • ps -l 长格式,和ls的l类似
  • ps -o 自定义输出格式 ps -o pid,ppid,spid
  • ps -M 显示安全信息
  • ps -c 显示调度信息
  • ps -v 显示版本信息

自定义输出格式(-o)

  • %cpu -- cpu占用率
  • %mem -- 内存占用率
  • args -- 命令参数
  • c -- 处理器利用率 (进程消耗的 CPU 时间 / 进程运行时间) * 100%
  • cmd -- command 别名 args, command
  • cp -- 每千分之几的cpu使用率
  • cputime -- 累计的cpu时间, 单位tiime dd:hh:mm:ss:
  • cputimes -- 累计的cpu时间,单位秒
  • uid -- 用户id
  • euid -- 有效用户id
  • euser -- 有效用户名,别名 uname,user
  • fuid -- 文件系统uid
  • luid -- 进程关联的login id
  • pid -- 进程id
  • ppid --- 父进程id
  • tty -- 进程的终端id, 别名tt
  • spid -- 线程id
  • stime -- 进程启动时的系统时间

top命令 实时检测进程

参数

  • top -d --- 延迟时间,显示top内容变化的间隔时间, 秒级
  • top -p --- 监控特性pid, 比如top -p 1
  • top -i --- 过滤状态为i的空闲进程
  • top -H ---- 线程模式
  • top -o(override-sort-filed) ---- 对特定字段进行排序 top -o %CPU 这里排序字段为注解中的headers

kill 命令 终止进程

kill 参数 pid

参数

  • kill -l ----- 列出所有信号
  • kill -L ----- 等同 l
  • kill -s ----- 按名称发送信号
  • kill -n ----- 按编号发送信号 kill -15 $pid 15代表信号15 pid代表进程id
  • kill -0 $pid ---- 检测进程是否存在

pkill命令 可以使用 程序名代替pid来终止进程 ,发送信号15来进行终止

pkill options <pattern>

options

  • pkill -e ---- 显示被杀死的进程内容
  • pkill -c ---- 匹配的进程数量
  • pkill -f ---- 进程全名称匹配
  • pkill -15 进程名 --- 杀死指定进程名, 进程名也可使用*等进行匹配, 这里的15代表信号id,可参考
  • pkill -P --- 根据父进程杀死所有子进程

注解

  • 非session leader:一般指初始进程
  • 当前终端进程:一般是指当前命令的进程
  • RSS(resident set size): 表示进程当前实际占用的物理内存大小(不包含交换分区中的内存)
  • PSR(processor): 表示进程最后一次运行或当前运行的CPU核心编号
  • headers
  • PID: 进程id
  • USER: 用户名
  • PR: 进程优先级
  • NI: 进程谦让度
  • VIRT: 进程占用的寻内存总量
  • RES: 进程占用的物理内存总量
  • SHR: 进程和其他进程共享的内存总量
  • S: 进程状态(S:等待事件完成/休眠 R:正在运行或者就绪等待cpu T:暂停 Z:进程僵化)
  • %CPU: cpu占用率
  • %MEM: 物理内存占用率
  • TIME: 从启动到现在占用的cpu时间总量
  • CMD:命令行,一般包含参数
  • 信号
  • SIGHUP: 终止进程, 终端挂断
  • SIGINT: 终止进程,键盘中断,用户请求中断进程
  • SIGQUIT:终止+核心,键盘退出,用户请求进程退出并生成核心转储(核心转储:进程终止时的完整内存快照)
  • SIGILL:终止+核心, 进程进行非法、无权限指令等操作时,系统会向进程发送这个信号
  • SIGTRAP:终止+核心,跟踪/断点陷阱,调试器使用
  • SIGABRT:终止+核心,异常终止
  • SIGBUS: 终止+核心, 总线错误,访问非法地址
  • SIGFPE: 终止+核心,浮点异常,比如除以零
  • SIGKILL:终止+核心, 立刻强制终止
  • 信号要点
  • 标准(1-31)不支持排队,连续发送可能会导致丢失
  • 实时(32-64)支持排队,不会丢失

参考linux命令与shell脚本编程大全(第4版)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • ps命令 -- 查看进程命令 缩写(process status)
    • 风格选项
    • 常用命令
    • 常用参数 -
    • 常用参数 --
    • 输出格式控制
    • 自定义输出格式(-o)
  • top命令 实时检测进程
    • 参数
  • kill 命令 终止进程
    • 参数
  • pkill命令 可以使用 程序名代替pid来终止进程 ,发送信号15来进行终止
    • options
    • 注解
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档