百度
360搜索
搜狗搜索

如何查看linux命令执行过程详细介绍

在 Linux 系统中,查看命令的执行过程可以通过多种工具实现,具体方法取决于你需要监控的维度(如进程状态、系统调用、脚本执行步骤等)。以下是常用的几种方式:

一、监控进程状态与资源使用

  1. ps 命令(静态进程查看)
    查看进程的当前状态、PID、CPU / 内存占用等信息:
    bash
     aux   进程名或命令关键词  

    进程名

  2. top/htop 命令(动态实时监控)

    • top:实时显示系统资源占用,按 Shift + : 可输入命令(如 pid <PID> 聚焦特定进程)。
    • htop(需额外安装,通常更易用):支持鼠标操作,清晰展示进程树和资源占用:bash
            

      dnf

二、跟踪系统调用与信号(
strace

strace 可实时显示进程执行时发起的 系统调用(Kernel 级操作,如文件读写、网络请求等)和接收的信号,适合调试命令执行失败或异常行为。

用法:

bash

 命令 参数          

PID

output.log 命令

示例:跟踪 ls /etc 的系统调用:
bash

  /etc

输出会显示每一步系统调用(如 openatreaddir 等)及其返回值,帮助定位命令在哪个环节卡住或出错。

三、跟踪库函数调用(
ltrace

strace 不同,ltrace 用于跟踪进程调用的 用户空间库函数(如 C 库函数 printffopen 等),适合分析程序对库函数的依赖。

用法:

bash

ltrace 命令 参数          

ltrace PID

示例:跟踪 echo "hello" 调用的库函数:
bash

ltrace  

四、调试脚本执行过程(
sh -x/
bash -x

如果需要查看 Shell 脚本 的执行步骤(逐行调试),可在运行脚本时添加 -x 选项,显示每一行代码及其变量展开后的内容。

用法:

bash

  script.sh              

script.sh

示例
bash

$   test.sh

+

Start

+

+ num+5

+ "

五、查看进程树与依赖关系(
pstree/
systemd-cgtop

  1. pstree:以树状结构显示进程关系,清晰看到父进程与子进程的启动顺序:
    bash
    pstree PID 或进程名        

    pstree

  2. systemd-cgtop(针对 systemd 管理的服务):
    监控系统服务的资源占用和进程层次,适合查看后台服务的执行流程。
    bash
    systemd-cgtop

六、高级动态跟踪工具(适合深度分析)

  1. systemtap(系统级动态跟踪):
    基于 DTrace 框架,可自定义脚本跟踪内核或用户空间的函数,适合复杂性能分析(需安装 systemtap 包)。
    bash
    stap  

  2. bpftrace(轻量级 BPF 工具):
    基于 eBPF 技术,简洁高效,可跟踪系统调用、函数执行时间等:
    bash
    bpftrace  

总结:按需选择工具

  • 简单进程监控top/htop(实时资源)、ps/pstree(进程关系)。
  • 系统调用级调试strace(内核操作)、ltrace(库函数)。
  • 脚本调试sh -x/bash -x(逐行追踪)。
  • 深度性能分析systemtap/bpftrace(自定义动态跟踪)。

根据具体场景选择合适的工具,通常从 stracetop 开始排查,逐步深入。如果需要跟踪后台服务,结合日志文件(如命令输出重定向到文件)会更高效。

阅读更多 >>>  linux命令结束.sh文件

网站数据信息

"如何查看linux命令执行过程"浏览人数已经达到20次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:如何查看linux命令执行过程的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!