2

Моя конфигурация

$ cat /proc/sys/kernel/core_pattern 
core
$ cat /proc/sys/kernel/core_pipe_limit 
0
$ cat /proc/sys/kernel/core_uses_pid 
1
$ selinuxenabled && echo enabled || echo disabled
disabled
$ ps aux | grep abrt
500       2192  0.0  0.1 251036  5640 ?        S    10:01   0:00 abrt-applet
500       5673  0.0  0.0 109252   884 pts/0    S+   10:29   0:00 grep --color=auto abrt
$ ulimit -c
unlimited

Что я делаю.

Я запускаю свою программу в терминале gnome с помощью bash. Он не демонизируется и не отсоединяется. Затем я делаю следующее из другого терминала killall -ABRT <program_name> . Программа заканчивает оставляя сообщение Aborted . Основной файл не может быть найден в файловой системе.

Как можно помочь этой ситуации? Что еще я могу сделать или проверить?

1 ответ1

1

Решение найдено.

Проблема была с core_pattern, так как моя программа каким-то образом изменила свой cwd на / и, таким образом, не может ничего записать в корень файловой системы.

Процесс cwd можно увидеть в /proc/<pid>/cwd .

Итак, я изменил core_pattern с помощью echo '/tmp/core.%p' > /proc/sys/kernel/core_pattern и это помогло.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .