这些命令一般都需要进程pid作为选项参数,先介绍一个取得某个进程pid的命令组。
ps -e |grep your_process_name|awk '{print $1}'
该命令利用ps取得系统中所有的进程信息,通过grep过滤出你需要的进程信息,然后通过awk取得第一个字段就是pid号。另外``这个运算符表示shell执行命令(跟~符号在同一个按键上)。
一、查看某个进程中的线程数目:
pstree -p `ps -e |grep your_process_name|awk '{print $1}'`
eg:
一、查看某个进程的描述符使用情况:
lsof -p `ps -e |grep your_process_name|awk '{print $1}'`
eg:
一、跟踪某个进程的系统调用情况:
strace -p `ps -e |grep your_process_name|awk '{print $1}'`
strace在调试进程时非常有用,strace会attach一个运行中的进程。列出进程各个系统调用的情况,包括返回值,参数等。
eg:
加上-c 选项运行一段时间可以统计出各个系统调用所耗费的时间,调用次数。可以借此分析程序的性能瓶颈和bugs。
ltrace 跟strace类似,不过其是跟踪用户态函数的调用情况。