这个数字在Bash的段错误信息中意味着什么?

时间:2015-12-16 16:46:23

标签: linux bash shell unix segmentation-fault

我有一个产生分段错误的程序,我在Linux上运行。

直接运行程序,我得到:

Segmentation fault (core dumped)

当我在Bash脚本中运行它时,我得到:

./script.sh: line 1:  4095 Segmentation fault      (core dumped) ./prog

这个数字(我的例子中为4095)每次都不同。似乎总是增加;如果我快速运行脚本很多次,那么每次增加5次。

这个数字告诉我什么?

1 个答案:

答案 0 :(得分:5)

应用程序的PID崩溃了。每次运行应用程序时,它都有一个进程ID(PID)。当您的bash脚本运行bash时,确定您的应用程序崩溃并列出其PID以及崩溃的原因。

您始终可以在/ proc / pid中查找有关UNIX系统中任何进程的信息,这可能非常有用。请参阅:http://man7.org/linux/man-pages/man5/proc.5.html

使用ps命令列出进程时,应用程序的PID旁边会列出,如果需要,也可以以编程方式检索,请参阅:http://linux.die.net/man/2/getpid

如果您有一个挂起的应用程序,您可以将调试器挂钩到它,让您知道它的PID及其名称。例如,gdb myprogram PID