Пользовательское пространство управляется и управляется ядром, поэтому, если внутри пользовательского пространства произойдет ошибка сегментации на уровне ядра, это повлияет на ядро.
Каждая система будет вести себя по-разному в зависимости от настройки журнала, настройки ядра и от того, использует ли она systemd или нет (, но dmesg обычно является основным местом отладки/журнала)
В вашей конкретной ситуации, если вы знаете, какой процесс генерирует segfault, вы используете strace
или gdb appname
для отладки проблемного процесса.
https://wiki.archlinux.org/index.php/Step-by-step_debugging_guideв этом руководстве содержится более подробная информация об отладке segfault
Меня тоже раздражало большое количество файлов в моем домашнем каталоге. Это то, что я сделал.
~/+Files
. ~/+Files/config
Теперь домашняя директория содержит только ссылки sym -и директорию +Files
. Затем с -до -раз я проверяю свой домашний каталог на наличие хлама. И решить, что с ним делать :перейти в конфиг, удалить, …
Как и вы & ctrl -alt -delor, я искал мифический чистый домашний каталог. Вызов readline.write_history_file
зарегистрирован для запуска при выходе вsite.py
(в моей арочной системе по адресу/usr/lib/python3.9/site.py
):
if readline.get_current_history_length() == 0:
# If no history was loaded, default to.python_history.
# The guard is necessary to avoid doubling history size at
# each interpreter exit when readline was already configured
# through a PYTHONSTARTUP hook, see:
# http://bugs.python.org/issue5845#msg198636
history = os.path.join(os.path.expanduser('~'),
'.python_history')
try:
readline.read_history_file(history)
except OSError:
pass
def write_history():
try:
readline.write_history_file(history)
except OSError:
# bpo-19891, bpo-41193: Home directory does not exist
# or is not writable, or the filesystem is read-only.
pass
atexit.register(write_history)
Вы можете продублировать это в своем PYTHONSTARUP, но с произвольным расположением для истории Python. Вот мой (, но если хотите, я уверен, что вы можете использовать подстановку среды, чтобы использовать соответствующий каталог XDG.:
import os
import atexit
import readline
history = os.path.join(os.path.expanduser('~'), '.cache/python_history')
try:
readline.read_history_file(history)
except OSError:
pass
def write_history():
try:
readline.write_history_file(history)
except OSError:
pass
atexit.register(write_history)
Вы могли бы перезаписать файловую функцию записи _истории _, но это очень сложно (вам нужно, чтобы она игнорировала аргумент, заданный вместо вашего пользовательского ), поэтому я думаю, что это лучшее решение. Если это не сработает, попробуйте создать фиктивную запись в пользовательском файле истории Python, чтобы длина истории была больше 0.