все Python 3Linux · macOSosфункция
os.WCOREDUMP
os — разбор статуса (W*)
Проверяет, оставил ли завершённый процесс дамп памяти (core). Доступно на Unix.
Синтаксис
os.WCOREDUMP(...)
Дамп появится, только если это разрешено: ограничение ulimit -c часто равно нулю, а на современных Linux дампы перехватывает systemd-coredump. Поэтому ложное значение не значит, что падения не было. Проверять имеет смысл только после истинного WIFSIGNALED.
Примеры
import os
pid = os.fork() # → ? только Unix: 0 в дочернем процессе, pid потомка в родителе
if pid == 0: os.abort() # потомок аварийно падает по SIGABRT
_, status = os.waitpid(pid, 0) # родитель забирает статус завершения потомка
print(os.WIFSIGNALED(status)) # → True — потомок убит сигналом, а не вышел сам
print(os.WCOREDUMP(status)) # → True, если система разрешила записать core (ulimit -c unlimited), иначе False
print(os.WCOREDUMP(0)) # → False — после штатного завершения дампа нет
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности