systemd: mentira sobre o nome do processo usando sh -c exec idiom

3

Estou usando o idioma sh -c exec em uma instrução ExecStart (em um arquivo de unidade de serviço) para interpolar alguns comandos do shell. Por exemplo:

ExecStart=/bin/sh -ec "exec /usr/bin/foo $(/usr/bin/foo-config)"

Funciona muito bem. No entanto, quando olho para o diário para este serviço, o nome do processo é sh em vez de foo . Existe uma maneira de mentir sobre o nome do processo usando esse idioma?

    
por mwp 13.06.2016 / 19:51

2 respostas

4

Ah, isso acabou sendo muito mais fácil do que eu pensava. Encontrou uma resposta aqui: link !

SyslogIdentifer=foo
    
por 13.06.2016 / 20:31
0

Já pensou em usar um arquivo ou variável de ambiente para fazer sua configuração de última hora em vez de um comando? Algo como (não testado):

Environment= ARGS=--whatever
EnvironmentFile=-/etc/foo/foo.config
ExecStart=/usr/bin/foo $ARGS

Isso parece mais alinhado com a "maneira sistêmica".

    
por 13.06.2016 / 20:05