Python Glossary English

все Python 3Linux · macOSosфункция

os.WIFCONTINUED

os — разбор статуса (W*)

Проверяет, был ли остановленный процесс возобновлён (SIGCONT). Доступно на Unix.

Синтаксис

os.WIFCONTINUED(...)

Такой статус приходит, только если ожидание шло с флагом WCONTINUED: продолжение остановленного процесса сигналом SIGCONT. Нужна в основном оболочкам с управлением заданиями — fg и bg. В обычных программах, которые ждут завершения потомка, встречается редко.

Примеры

import os, signal
pid = os.fork()  # → ? только Unix: 0 в дочернем процессе, pid потомка в родителе
if pid == 0:
    os.pause()  # потомок засыпает и ждёт сигналов
    os._exit(0)
os.kill(pid, signal.SIGSTOP)
os.waitpid(pid, os.WUNTRACED)  # дождаться, пока потомок действительно встанет
os.kill(pid, signal.SIGCONT)
_, status = os.waitpid(pid, os.WCONTINUED)  # без WCONTINUED событие возобновления не придёт
print(os.WIFCONTINUED(status))  # → True — потомок возобновлён сигналом SIGCONT
os.kill(pid, signal.SIGKILL)
os.waitpid(pid, 0)  # прибрать потомка
print(os.WIFCONTINUED(0))  # → False — штатное завершение возобновлением не считается

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности