SIGQUIT 是转储核心信号。当用户按下 时,终端将其发送到前台进程
ctrl-\
。默认行为是终止进程并转储核心,但它可以被捕获或忽略。目的是为用户提供一种中止进程的机制。您可以将 SIGINT 视为“用户发起的愉快终止”,将 SIGQUIT 视为“用户发起的不幸终止”。
$ sleep 100
^\[1]+ Done nohup sleep 100
Quit (core dumped)
但我在当前目录中找不到转储文件。它在哪里?谢谢。
答案1
一般情况包括如何查看Core文件(通用)。
这个具体案例是不同的。您的/proc/sys/kernel/core_pattern
值|/usr/share/apport/apport %p %s %c %d %P
表明您的系统已设置为使用同意处理核心转储,这有的特殊处理SIGQUIT
:如果设置ulimit
允许,并且转储的二进制文件可读并且不是setuid 或 setgid。查看 的输出ulimit -c
:如果它是 0,则您将不会获得核心,否则,如果允许的大小ulimit
(可能是“无限制”)足以存储核心转储,则您将获得核心。 Apport 确保您不会获得部分核心转储:如果限制不是“无限制”,一旦 Apport 意识到它超出了限制,大于限制的核心转储就会被删除。核心文件将被命名为core
,可能后跟.
和 进程标识符(如果/proc/sys/kernel/core_uses_pid
是 1)。