处理 SIGQUIT 的核心转储文件存储在哪里?

处理 SIGQUIT 的核心转储文件存储在哪里?

http://qr.ae/TUTxgN

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)。

相关内容