Alons, Как минимум, у вас обе две ссылки побитые. Эти показатели можно вытащить, прочитав системные счетчики.
Я читаю ваш вопрос:
мне нужно узнать когда на машине пройдут загрузку все приложения
Я в этом вижу классическую проблему X-Y - когда задающий вопрос человек решает некую задачу (забить гвоздь) но в виду низкой квалификации, вместо молотка хватает микроскоп. Вопрос он при этом задает не в виде "как забить гвоздь", а в виде "как сделать, чтобы стекла в микроскопе не бились". В итоге он теряет время и нервы, свое и отвечающих.
Поэтому я снова спрошу - в процессе решения какой изначальной задачи вам понадобилось определять, что на компьютере загрузились все программы?
Alons, а какую задачу вы решаете? Задумайтесь, почему вы встречаете неотвеченные вопросы, а сама ОС не имеет штатного сингала "я загрузилась". Возможно, вы решаете несуществующую задачу.
maaGames, банально, вы обновляете в СУБД ячейку с прогрессом, а в триггере на это обновление пишите команду отсылки сообщения "прогресс задачи такой-то теперь %d процентов". В клиенте у вас при этом будет вызываться коллбэк, которому будет передаваться текст сообщения.
Передавая по сети гигабайты данных вы столкнетесь с такими интересными штуками, как
-сокет отвалился на середине - что делать?!
-клиент, гад, перестал слать данные - как это ловить и что с этим делать?
-оказывается, отсылка большой кучи данных в сокет приводит к залипанию отсылающей стороны, так что при передаче большого куска в одну сторону нужно реализовывать собственный двусторонний протокол.
И другие интересные истории. Про них есть полная увлекательного чтения книжка Снейдера "Эффективное программирование TCP/IP". Только оно здесь давром не нужно - положили задачку в постгрес - взяли задачку, результат - обратно в постгрес.
Потом еще окажется, что данные там надо как-то тупо агрегировать, поэтому постгрес справится сам, без "считающего" бэкэнда.
maaGames, не можете, потому что не умеете, или у вас чокнутый заказчик?
Сторонние библиотеки не хотите использовать. Опять же - у постгреса есть версия, сертифицированная под Астра Линукс и гостайну.
То есть тут варианты такие - либо вашему заказчику не жалко денег на оплату велосипеда и покрытие рисков, связанных с багами, виноваты в возникновении которых будете лично вы.
Либо вам облом изучать технологии и вы думаете, что сможете быстро и качественно написать надежный конвейер на уровне сокетов сами. Что маловероятно, к сожалению.
Промышленный софт тестируется и эксплуатируется миллионы часов, а сколько времени будет тестироваться ваше поделие до выхода в эксплуатацию? 10 часов от силы, вашими же руками.
maaGames, ну, возмите любой софт для создания очередей, тот же RabbitMQ, или просто складывайте задания в СУБД и из нее же забирайте - на кой черт связываться с низкоуровневым написанием кучи багов на сокетах?
И вот это почитайте
У вас не сама картинка должна быть ЧОБЭ, а информация о глубине на этой картинке