多语言展示
当前在线:1016今日阅读:27今日分享:41

怎么查看strace日志

Strace命令是Linux下查看系统调用的一个命令,当脚本或者进程运行出现问题时,可以使用strace跟踪系统调用的日志来定位,今天我们来看看strace的具体用法
工具/原料
1

Centos 7.4

2

strace命令

方法/步骤
1

步骤一:登陆Linux系统执行ls命令时,报错-bash: /bin/ls: Permission denied,但是在root用户下执行正常

2

步骤二:使用strace ls命令查看系统调用,出现如下日志报错,看到系统在exec执行拒绝,很可能是没有执行权限导致[oracle@k8s ~]$ strace lsexecve('/bin/ls', ['ls'], [/* 18 vars */]) = -1 EACCES (Permission denied)write(2, 'strace: exec: Permission denied\n', 32strace: exec: Permission denied) = 32exit_group(1)                           = ?+++ exited with 1 +++

3

步骤三:切换到root用户下,然后查看which ls查看系统调用路径,然后ll /usr/bin/ls看到其他用户没有执行权限

4

步骤四:chmod 755 /usr/bin/ls增加权限后,切换到oracle用户执行正常

5

步骤五:stracle命令使用具体参数如图所示

6

步骤六:如图service httpd status 查询到httpd的进程是37838strace -tt -T -v -f  -o /tmp/strace.log -s 1024 -p 37838命令追踪37838进程的系统调用,然后将日志打印到/tmp/strace.log文件

7

步骤七:然后查看日志,如果出现错误在具体定位原因

注意事项
1

喜欢记得收藏点赞哦

2

知识需要共享

推荐信息