URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4588
[ Назад ]

Исходное сообщение
"Демон и писанина в stdout"

Отправлено mezantrop , 25-Авг-05 12:25 
Дело такое: много одинаковых демонов, exec()'ающих пользовательские процессы. Демоны форкаются из текущей сессии и из любых других сессий. Мне необходим легкий механизм диффиренсации штанов по цвету, а именно: каждому демону необходимо каким-то образом отдать свой PID, чтобы потом любой простецкий скрипт его с удовольствием схавал. Сохранение, в /var/run/mypid не подойдет, поскольку демонов-то много. Так вот, кошерно ли будет каждому демону написать в stdout свой PID? А то я ничего более умного не придумал пока.

Содержание

Сообщения в этом обсуждении
"Демон и писанина в stdout"
Отправлено Forth , 25-Авг-05 12:30 
Бывает pid хранят в имени файла, например /var/run/daemon.496 ,вот тебе и куча файлов с пидами, которые "легко схавает любой скрипт".



"Демон и писанина в stdout"
Отправлено mezantrop , 25-Авг-05 13:17 
>Бывает pid хранят в имени файла, например /var/run/daemon.496 ,вот тебе и куча
>файлов с пидами, которые "легко схавает любой скрипт".
Уже думал. Но......
Боюсь не подойдет. Поскольку:
демоны mydaemon запускают при помощи exec() пользовательские внешние процессы, писаные не мною.

Демонов mydaemon каждый пользователь может пускать кучу. Последовательно, одновременно, в разных сессиях и т.д.

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

Задача: как сделать джоб-контрол, такой, чтобы пользователь при помощи mytool смог среди своих процессов (запущенных mydaemon) определить процессы относящиеся к каждой конкретной копии mydaemon.

Поэтому хранить mydaemon.pid для каждого процесса не имеет значения, ну буду я их знать, что с того? Нужно, чтобы mytool (юзверь) смогла сделать соотношение: какой mydaemon.PID относится к какому userland'овскому процессу. Вот я и думаю сижу, а поскольку не настоящий программер, теряюсь в потемках :(


"Демон и писанина в stdout"
Отправлено Forth , 25-Авг-05 13:21 
Дык какие проблемы? Пишем в daemon.PID пиды запущенных им exec процессов. Если они конечно не форкаются после запуска.

"Демон и писанина в stdout"
Отправлено mezantrop , 25-Авг-05 13:21 
>>Бывает pid хранят в имени файла, например /var/run/daemon.496 ,вот тебе и куча
>>файлов с пидами, которые "легко схавает любой скрипт".
Хотя.... если в таких файлах хранить строку запуска юзерлэнд-утилит, то может что и получится. Спасибо, буду думать!

Но может быть есть еще какие-нибудь идеи?