>из проги на c++ запускаю xinetd
>--
>execl("/usr/local/sbin/xinetd", "-pidfile" "/tmp/xinetd.pid", "-f", configFile, NULL);
>--
>нада узнать его PID(оч нада) чтоб потом прибить при необходимости
>
>он запускается - в логе
>--
>Jun 3 16:29:04 arifolth xinetd.pid[17133]: xinetd Version 2.3.13 started with no
>options compiled in. Jun 3 16:29:04 arifolth xinetd.pid[17217]: Started working:
>1 available service
>--
>но файл с PID не создаёт
>по ps x
>--
>17217 ? S 0:00 -pidfile/tmp/xinetd.pid -f /etc/test/xinetd192.168.0.2.conf
>
>--
>т. е. сливает почему-то вместе опцию и её параметр
>пробовал ставить пробел - не помогает, пробовал объединять вместе -pidfile
>и /tmp/xinetd.pid - то ж самое
>если руками запускать - всё как нада работает:
>--
>/usr/local/sbin/xinetd -pidfile /tmp/xinetd.pid -f /etc/test/xinetd.conf -syslog daemon
>--
>
>подскажите - где грабли зарыты?
>или как запустить процесс и получить его PID
У тебя ошибка смотри здесь
http://www.cs.cf.ac.uk/Dave/C/subsubsection2_18_4_1_1.html
В твоем случае будет
execl("/usr/local/sbin/xinetd","xinetd", "-pidfile" "/tmp/xinetd.pid", "-f", configFile, NULL);
|