On Wed, 10 Feb 2010 20:55:14 +0700 Denis Feklushkin <denis.feklush...@gmail.com> wrote:
> On Wed, 10 Feb 2010 14:54:49 +0300 > Alexey Pechnikov <pechni...@mobigroup.ru> wrote: > > > Hello! > > > > On Wednesday 10 February 2010 10:22:03 Roman S. Gushcha wrote: > > > Есть клон: runit (http://smarden.org/runit/,естьврепе). Мне > > > кажется более удобным. > > > > > > ИМХО, daemontools и runit -- наиболее подходящие решения. > > > > Поддерживаю. Активно использую в продакшене, очень удобно - > > возможность для пользователей запускать собственный экземпляр > > супервизора (с правами пользователя) решает множество проблем, > > в т.ч. безопасности (рутовые права теперь не нужны). > > Это про какую из предложенных? > > У меня на daemontools вот проблема вылезла какая - в лог не пишется > весь STDIN, сгенерированный сервисом, только часть. > Проблема оказалась такая. "Демон" написан на питоне и вызывает другие программы вот таким кодом внутри себя: p = Popen( res[1], shell = True, stdin=PIPE ) p.stdin.write( res[2] ) p.stdin.close() p.wait() если этот код закомментировать то всё ок и такой код в ./run отлично с ним работает: ========= $ cat /etc/service/dhcs-daemon/run #!/bin/sh set -ex exec 2>&1 exec chpst -v -u dhcs-daemon /opt/dhcs/queue-daemon.py "dbname=dhcs-new" "5" ========= если же приведённый вначале питоновский код оставить то после exec (он заменяет shell на свои аргументы, да?) питоновый stdin теряется неизвестно где и не попадает в логи причём, если запустить exec /etc/service/dhcs-daemon/run в консоли то ничего не теряется, полный вывод питона наблюдается в консоли и вывод этот идёт в дескриптор stdout питон на помойку? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org