Linux进程有哪些方法?这4种方法轻松易学

今天我们就来介绍一下Linux 进程有哪些方法的信息。ps检查进程ID,查看该进程是否仍然存在以及进程状态。如果是这样,则strace和psstack查看进程的当前信息是否卡在了哪个位置,比较每帧的最后一次调用信息以查找异常点,例如该进程不在corefile文件中,检查 corefile的信息直接在gdb上。 当其他无法治愈进程状态的信息时,请查看/proc/pid下的过程状态信息。

Linux进程有哪些方法?这4种方法轻松易学_业界动态_数字化

 1、strace

trace system calls and signals 跟踪进程内部的系统调用和信号

什么是系统调用?系统调用,指运行在「用户态」的程序向操作系统「内核态」请求需要更高权限运行的服务,系统调用提供用户程序与操作系统之间的接口。

strace后面跟着启动一个进程,可以跟踪启动后进程的系统调用和信号,这个命令可以看到进程执行时候都调用了哪些系统调用,通过指定不同的选项可以输出系统调用发生的时间,精度可以精确到微秒,甚至还可以统计分析系统「调用的耗时」,这在排查进程假死问题的时候很有用,能帮你发现进程卡在哪个系统调用上。已经在运行的进程也可以指定-p参数加pid像gdb attach那样附着上去跟踪。

 2、pstack

print a stack trace of a running process 打印出运行中程序的堆栈信息。

执行命令pstack pid 你能看到当前线程运行中的堆栈信息,其中的pid可用之前的ps命令获得,pstack可以看到进程内启动的线程号,每个进程内线程的「堆栈」内容也能看到。

 3、pstree

display a tree of processes pstree按树形结构打印运行中进程结构信息,可以直观的查看进程和它启动的线程的关系,并能显示进程标识。

 4、gdb

gdb是GNU开发的gcc套件中Linux下程序调试工具,你可以查看程序的堆栈、设置断点、打印程序运行时信息,甚至还能调试多线程程序,功能十分强大。在这里把gdb当成一个命令来讲有点大材小用。

要用gdb调试C/C++程序首先编译的时候要加-g选项,g++ -g test.cpp -o test这样生成的程序就可以用gdb来调试啦。

可以直接用gdb启动程序调试,命令:gdb prog

用gdb附着到一个已经启动的进程上调试也可以。命令:gdb prog pid

程序崩溃之后参数corefile也可以用gdb调试,看看程序死掉之前留了什么遗言(堆栈信息)给你。命令:gdb prog corefile,这里有一点需要注意,有些Linux

系统默认程序崩溃不生成corefile,这时你需要ulimit -cunlimited这样就能生成corefile了。

以上就是关于Linux 进程有哪些方法的全部内容介绍,想了解更多关于Linux 的信息,请继续关注。

42
1
0
32

相关资讯

  1. 1、曾因长相被嫌弃,娶了二婚主持人当老婆,40岁却成了影帝639
  2. 2、陈建斌自曝担心甄嬛传没人看,靠看还珠格格剧组拍摄来打气1104
  3. 3、《一个明星的诞生》LadyGaga剑指奥斯卡?4521
  4. 4、《香蜜沉沉烬如霜》剧情开虐杨紫邓伦对飙哭戏网友:分分钟看哭3065
  5. 5、首日票房仅100万,香港老戏骨也无奈,他号召力真不如洪金宝1777
  6. 6、胡夏献唱《同桌的你》再引《那些年》青春热潮2914
  7. 7、宣萱18年演无线剧集被胁持24次获封“人质王”1395
  8. 8、专访《哥斯拉》主创①解读篇:咆哮是在唤醒人类4438
  9. 9、新片推荐《阿尔法:狼伴归途》:画面超养眼的“狗狗前史”!367
  10. 10、19天破15亿,堪比《都挺好》的又一部家庭剧成功出圈,剧情超预期3798
全部评论(0)
我也有话说
0
收藏
点赞
顶部