• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > Linux中获取某个进程的系统调用以及参数(故障排查案例)

Linux中获取某个进程的系统调用以及参数(故障排查案例)

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了linux查看进程,linux查看进程命令,linux杀死进程命令,linux kill进程,linux进程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

当一个程序发生故障时,有时候想通过了解该进程正在执行的系统调用来排查问题。通常可以用 strace 来跟踪。但是当进程已经处于 D 状态(uninterruptible sleep)时,strace 也帮不上忙。这时候可以通过


D 状态实际是在等待系统调用返回。那么来看看究竟在等待什么系统调用

第一个数字是系统调用号,后面是参数。不同的系统调用所需的参数个数不同。这里的字段数是按最大参数数量来的,所以不一定每个参数字段都有价值。那么怎么知道系统调用号对应哪个系统调用呢?在头文件 /usr/include/asm/unistd_64.h 中都有定义。也可以用个小脚本来快速查找:


对于不同的系统调用的参数,可以通过 man 2 <系统调用名> 查阅。如 man 2 read。对刚才那个例子来说,0 就对应了 read 调用。而 read 调用的第一个参数是文件描述符。

之后用 lsof 找到 7 对应的是什么文件

结果发现是个 device mapper 的设备文件。最后顺藤摸瓜,发现这个文件是 multipathd 创建的。而系统应当使用的是存储厂商提供的多路径软件。问题是由于同时开启了 multipathd 造成冲突导致的。

/proc/<PID>/syscall 对排查 D 状态进程很有用。不过在 2.6.18 内核上并不支持,具体从哪个内核版本开始有这个功能,还没查到。不过至少从在 2.6.32 以上版本都是支持的。

</div>

您可能想查找下面的文章:

  • Linux查找占用的端口,并杀死进程的方法
  • Linux进程控制详解及实例
  • Linux 深入理解进程权限
  • Linux 深入理解进程权限
  • Linux中获取某个进程的系统调用以及参数(故障排查案例)
  • linux 创建守护进程的相关知识
  • linux下监视进程 崩溃挂掉后自动重启的shell脚本

相关文章

  • 后台实时分流文件的shell脚本
  • 一个简单的转换输出的shell脚本代码
  • 阿里云云服务器Linux系统更新yum源Shell脚本
  • Shell获取文件的文件名和扩展名的例子
  • 详解shell 遍历文件夹内所有文件并打印绝对路径
  • fedora 开机启动/禁止开机启动服务的实现
  • Shell脚本避免重复执行的方法
  • linux rsync同步命令(值得收藏)
  • 一天一个shell命令 linux文本系列-file命令用法
  • shell获取命令行参数示例分享

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 一个shell for循环与case结合的脚本(监控程序状态)
    • shell写的告警次数控制及恢复示例代码
    • 脚本自动添加crontab示例
    • linux shell 逻辑运算符、逻辑表达式详细介绍
    • Linux下统计当前文件夹下的文件个数、目录个数
    • 控制输出颜色的shell脚本
    • Linux shell脚本实现CPU预警
    • shell脚本中一些特殊符号
    • centos/rhel下实现nginx自启动脚本实例
    • ssh expect自动登录的脚本代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有