我有一个产生分段错误的程序,我在Linux上运行。
直接运行程序,我得到:
Segmentation fault (core dumped)
当我在Bash脚本中运行它时,我得到:
./script.sh: line 1: 4095 Segmentation fault (core dumped) ./prog
这个数字(我的例子中为4095)每次都不同。似乎总是增加;如果我快速运行脚本很多次,那么每次增加5次。
这个数字告诉我什么?
答案 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