Почему все ссылки в /etc/rc6.d начинаются с K, если уровень выполнения 6 соответствует перезагрузке?

При открытии PIPEIN для записи только один раз программа завершается -даже при 2-секундной задержке:

mkfifo PIPEIN PIPEOUT
tr 'a-z' 'A-Z' < PIPEIN > PIPEOUT & # for example
tail -n +1 -f PIPEOUT &
(
for i in a b c d ; do
    echo $i
done
sleep 2
echo "[stdin end]"
) > PIPEIN

Если вы откроете fifo несколько раз, то он может быть воспринят читателем fifo как закрытый, и, таким образом, писатель будет завис до тех пор, пока другой читатель не придет для чтения из fifo.

Таким образом, лучше всего открыть PIPEIN только один раз. В противном случае вы можете увидеть, что программа зависает.

0
27.06.2019, 20:15
1 ответ

K действительно означает «убить». Символические ссылки связывают все сценарии инициализации, которые должны вызываться для остановки соответствующей службы, когда система переключается на уровень запуска 6; это пытается гарантировать, что все службы системы будут правильно остановлены перед перезагрузкой системы. Каждая ссылка вызывается с аргументом stop.

2
28.01.2020, 02:30

Теги

Похожие вопросы