Script de inicialização de um daemon para executar telas no CentOS

0

Eu tenho uma pergunta sobre um script init.d.
Atualmente tenho um script de inicialização que inicia um daemon personalizado da seguinte forma:

sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" &
echo $! > "$pid_file"

O daemon funciona desde que eu execute o script de inicialização como root.
O daemon precisa de acesso para criar telas, mas por causa do CentOS 6.7 eu preciso usar uma solução alternativa para permitir que usuários não-root executem telas usando o comando ´´script´´ ( Como posso iniciar uma sessão 'screen' como usuário não-root ) e termino com a seguinte linha que inicia o daemon perfeitamente como um usuário não-root.

sudo -u "$user" bash -c "script -c \"$cmd\"" >> "$stdout_log" 2>> "$stderr_log" &

Os problemas começam quando eu tento ecoar e canalizar o pid do processo para o arquivo pid, uma vez que ele fornece o pid do comando ´script´ e não do próprio daemon.

Alguém tem uma sugestão ou uma solução para obter o pid do daemon?

    
por Niklas Lindgren 16.11.2015 / 20:03

1 resposta

0

Que tal

sudo -u "$user" bash -c "script -c \"$cmd& echo $! > \"$pid_file\"\"" >> "$stdout_log" 2>> "$stderr_log" &
    
por 16.11.2015 / 20:06