Upstart e substituição de processo

6

Então, quero usar o seguinte na minha estância de script:

forever -l >(tee $QW_LOG_DIR/webserver.log | logger -p user.info -t '[QW]') start webserver.js

No entanto, isso não funcionará porque:

  1. Essa é a sintaxe bash e:

  2. A construção >(...) cria um processo antes de eu realmente criar forever , então o upstart rastreará o pid errado.

    ... pelo menos é o que eu acho, sou novato novato.

Meu pensamento é que, para contornar esses dois problemas, devo usar mkfifo na minha estagio pre-start para que eu possa escrever para o fifo no meu script de início.

Perguntas:

  1. Esse é o caminho a percorrer? Se não - o que é?
  2. Se for, então precisarei executar a (tee | logger) part "no plano de fundo", presumivelmente em pre-start ?
  3. Mais uma vez, em caso afirmativo, como acompanhá-lo e retirá-lo na minha sub-rotina post-end ?
por Nitzan Shaked 02.10.2013 / 22:14

1 resposta

2

Se você precisar invocar um script Bash do Upstart, poderá colocar o script em um arquivo e invocá-lo na sub-rotina exec :

exec /bin/bash /path/to/my-bash-script.sh
    
por David Foerster 21.11.2017 / 11:59