Size: a a a

2020 November 02

c

codingteam@cjr in codingteam
источник

c

codingteam@cjr in codingteam
portnov
ок
источник

f

folex in codingteam
источник

f

folex in codingteam
codingteam@cjr
Minoru
слушайте, я чего-то фундаментального не понимаю, видимо. Есть программа на Си, она открывает файл, пишет в него чиселко, закрывает файл и завершается. Эта программа запускается из скрипта, который запускает программу, дожидается её завершения, проверяет её exit code, после чего открывает и читает созданный программой файл. Почему-то иногда файл оказывается пустым, хотя последующая ручная проверка (с помощью cat) показывает, что данные в файле есть. Вопрос: как это вообще возможно?
насколько я помню, FS может делать flush асинхронно. Где-то была статейка на эту тему...
источник

c

codingteam@cjr in codingteam
Minoru
магия чатика работает. Я разобрался со своим «фундаментальным непониманием». Оказалось, что программа на Си *форкается*, и файл пишет уже потомок. При достаточной нагрузке на машину потомок пишет файл уже *после* того, как завершился предок. Т.к. вызывающий скрипт смотрит именно на предка, то и файл он читает слишком рано
источник

c

codingteam@cjr in codingteam
Minoru
@folexeyy: ;)
источник

O

Omap in codingteam
Anton Burkin
Мол пишешь код, надо что-то выделить или закомментить — ты бац и пальцем выделил
пальцами дерьмово текст выделять
источник

O

Omap in codingteam
особенно, если он не помещается на экране
источник

O

Omap in codingteam
или буквы меньше пальца
источник

c

codingteam@cjr in codingteam
Minoru
я, кстати, вначале тоже подумал про flush, но успокоился, когда увидел в коде на Си вызов fclose — он делает fflush, т.е. пишет из буфера программы в буффер ОС. А уж к буфферу ОС все имеют доступ, и не важно, добрались данные до диска или нет
источник

f

folex in codingteam
а родитель же должен дожидаться ребенка, или у тебя зомбяки потекут, не?
источник

c

codingteam@cjr in codingteam
Minoru
@folexeyy: не-не, это шаблон такой, double fork называется. Программа специально для этого: https://github.com/bmc/daemonize
источник

Jøhn Đøꝩsøn in codingteam
ttldtor
зачем нужны сенсорные мониторы?)
Не для кодеров. Десигнеру какому нибудь наверное удобно жестами масштабов поиграть, канвас покрутить
источник

f

folex in codingteam
codingteam@cjr
Minoru
@folexeyy: не-не, это шаблон такой, double fork называется. Программа специально для этого: https://github.com/bmc/daemonize
хм, а оно при такой конфигурации в init будет говорить о том что сдохло? Я плаваю, тк подзабыл это дело, но помнится там как-то надо специально отрывать ребенка от родителя, и пришивать к init
источник

c

codingteam@cjr in codingteam
Minoru
@folexeyy: если родитель умирает, то ребёнок автоматически переходит к init
источник

O

Omap in codingteam
главное, держать банку пива/кофе/чая подальше от такой клавиатуры
источник

f

folex in codingteam
codingteam@cjr
Minoru
@folexeyy: если родитель умирает, то ребёнок автоматически переходит к init
тогда не было бы проблемы зомбяков?
источник

f

folex in codingteam
Omap
главное, держать банку пива/кофе/чая подальше от такой клавиатуры
и лапищи свои грязные тоже!
источник

Jøhn Đøꝩsøn in codingteam
folex
а родитель же должен дожидаться ребенка, или у тебя зомбяки потекут, не?
Емнип они репарентятся. Я читал что для демонизации так специально делают, запускается процесс который запускает демона и умирает, демон рапарентится к системе и крутится себе дальше.
источник

O

Omap in codingteam
folex
и лапищи свои грязные тоже!
зачем тогда оно нужно, если нельзя трогать лапищами?
источник