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、《延禧攻略》乾隆:朕走过的最长的路是魏璎珞的套路4088
  2. 2、《诡拼车》现“红天鹅”形象国民校花诡异变身1427
  3. 3、网传《伪装者2》将袭,明家三兄弟全部落选,男女主人选让人意外1075
  4. 4、香港十大鬼片十位导演一人一部,哪一部是你的童年阴影?4512
  5. 5、网络剧准入门槛提高审核通过率最多仅5%977
  6. 6、《捍卫者》即将落地北京同时在全国卫视开播3964
  7. 7、电影《昨日青空》首映礼王一博献声齐景轩助力导演圆梦1069
  8. 8、女星穿水手服谁最美?杨幂第八,关晓彤第二,第一是谁?2506
  9. 9、当了一辈子好人无人铭记,却因为做一次”坏人“,让人恨之入骨365
  10. 10、张雨绮懒理复合传闻现身美国,一人独饮露美背,将参加维密大秀?3834
全部评论(0)
我也有话说
0
收藏
点赞
顶部