命令:
1.strace
linux进程分析神器,它能够打开应用进程的这个黑盒,通过系统调用的线索,告诉你进程大概在干嘛。
参考:

在Linux系统上,应用代码通过glibc库封装的函数,间接使用系统调用。
Linux内核目前有300多个系统调用,详细的列表可以通过syscalls手册页查看。这些系统调用主要分为几类:
文件和设备访问类 比如open/close/read/write/chmod等
进程管理类 fork/clone/execve/exit/getpid等
信号类 signal/sigaction/kill 等
内存管理 brk/mmap/mlock等
进程间通信IPC shmget/semget * 信号量,共享内存,消息队列等
网络通信 socket/connect/sendto/sendmsg 等
其他
-e trace=file 跟踪和文件访问相关的调用(参数中有文件名)
-e trace=process 和进程管理相关的调用,比如fork/exec/exit_group
-e trace=network 和网络通信相关的调用,比如socket/sendto/connect
-e trace=signal 信号发送和处理相关,比如kill/sigaction
-e trace=desc 和文件描述符相关,比如write/read/select/epoll等
-e trace=ipc 进程间通信相关,比如shmget等
2.gdb
3.valgrind
4.tcpdump
5.lsof
6.iostat
7.vmstat
8.pref
基础知识
linux多路复用
多进程/多线程
进程管理
内存管理
管道
socket
本文介绍Linux系统中常见的系统调用类型及其用途,包括文件操作、进程管理、信号处理、内存管理、进程间通信及网络通信。并推荐了strace、gdb、valgrind、tcpdump、lsof、iostat、vmstat和pref等实用工具,帮助开发者深入了解和调试Linux应用程序。

937

被折叠的 条评论
为什么被折叠?



