Мерль
Mikhail
спасибо
Мерль
Anonymous
Юрий
Юрий
создаешь шаблон сервиса
/etc/systemd/system/prog_cli@.service
Юрий
в нём следишь за процессом
[Service]
Type=forking
Restart=always
RestartSec=20
TimeoutSec=20
Mikalai
Quet
Юрий
в случае падения система все сама опредилит и поднимет, с заданными тайм аутами
Юрий
ну тут есть хитрость
Юрий
tmux и нет проблем :)
Юрий
конечно, командная строка что-то типа
ExecStart=/usr/bin/tmux new -ds cli "exec ./prog_cli >outpu.txt"
Mikalai
Юрий
чтобы вывод не потерять
Mikalai
так он и не теряется
Mikalai
он летит в journalctl
Mikalai
а там его можно удобно фильтровать
Mikalai
лепота
Юрий
тоже вариант :) но у меня был случай, что мне нужен был ввод в большей степени чем вывод
Юрий
создал шаблон,
сделал
[Service]
Type=forking
Restart=always
RestartSec=20
TimeoutSec=20
User=%i
WorkingDirectory=/home/%i
Environment=LD_LIBRARY_PATH=/home/%i
ExecStart=/home/cs.run.sh
ExecStop=/home/cs.quit.sh
Mikalai
ну если вам нужен ввод в демоне, то это мазохизм еще покруче..
Юрий
а потом насоздавал сервисов вида
cs@serv1.service
cs@serv2.service
cs@serv3.service
Mikalai
к слову, если нужен ввод, то systemd позволяет его сделать например через fifo
Quet
он летит в journalctl
плюс всегда можно сделать StandardOutput в сислог который уже запишет в файл (если журнал самого systemd не подходит)
Юрий
пример ? в 2 часа ночи я не в состоянии спорить %)
Юрий
хм. в свое время я это как-то упустил из виду
Юрий
прикольно че
Юрий
ну я так понял все согласны, что такую задачку лучше решать через systemd ? :)
Mikalai
часов через 9-10 проснутся хейтеры systemd )
Kirill
Kirill
которые на каникулах, да?)
Заур
Заур
Кто-нибудь знает какие-нибудь группы мобильных разработчиков ?
Заур
В телеграме
Mikhail
Anonymous
Думаю да, такие хейтеры были во все времена существования человечества.
praut
и только сейчас наконец можно нанять киллера для лёни за битки
Vladimir
Mikhail
Vladimir
Vladimir
Vladimir
Нельзя отменить стоп
Mikhail
и повернуть время назад
Mikhail
не совсем понятно зачем такое может понадобиться
Vladimir
Режет логи из стаута по 2кб
Mikhail
Vladimir
Невозможно сделать upgrade и reload одновременно
Vladimir
У системд только execreload
Vladimir
Поэтому в каком нибудь nginx ты либо получаешь graceful upgrade всегда с затормаживанием соединений, либо релоад, но без возможности апгрейда демона
Vladimir
Mikhail
Vladimir
Когда у тебя сложная зависимость типа модуль, демон, софт и только потом монтировать что то там
Vladimir
У системд довольно плохо с разрешением зависимостей
Vladimir
Ей от сложных кейсов бошку сносит и у тебя например перестает система выключаться так как в дедлок входит
Vladimir
Решается через задницу такое, через такую задницу что 1000 строк на баше вспомнить начинаешь с улыбкой.
Mikhail
Кто нибудь может поделиться книгой по Go Самерфильда?
🏳️ Phil
Посмотреть в медиа групаы?
Mikhail
В сети есть, но она какая то не очень качеством
Vasilii
Vladimir
Vladimir
Нормальный
Vladimir
Стартует да, ок
Serhii
В общем спрошу здесь, есть типы uint8 uint64 и пр. Как мне калькулятором посчитать какое максимальное число мы там можем хранить? Хочу раз и навсегда разобраться с этими байтами битами ) имееется ввиду, может есть какой нибудь хороший мануал на эту тему , потому что я ничего не смог найти на эту тему
Serhii
Буду очень признателен
Dmitrii
(2^x)-1
Mikalai
но если не unsigned, то x - 1
Serhii
Получается 2^8 = 255
Dmitrii
да
Serhii
По такому же принципу если в бд поле int8 оно тоже сможет хранить 255 ? Или там другое? К примеру на постгрес, там есть smallint 2 байта и оно может принимать максимальное 32767
Чет не вьеду никак
Mikalai