Alterando a variável PATH para um processo em execução como um usuário no Linux

1

Eu tenho um aplicativo de servidor que eu começo a usar um script init.d e executo como um usuário:

su $USER -c "${PLAY} start ${APPLICATION_PATH} --%prod-test >/dev/null"

O aplicativo precisa do ffmpeg, que é uma compilação especial, e está localizado no diretório inicial dos usuários:

/home/user/bin/ffmpeg

Como posso adicionar isso à variável PATH, pois ~ / bashrs não é chamado para esse uso. (quando eu uso 'su user' para logar como usuário a variável está lá, mas não para o processo se eu verificar:

/proc/pid/environ

O ideal seria eu preferir que fosse adicionado apenas para esse usuário específico, já que outras partes do sistema usam o ffmpeg dos repositórios.

Qualquer ajuda é muito apreciada!

    
por Luuk D. Jansen 04.03.2014 / 10:33

1 resposta

1

Execute como um shell de login usando -l :

su -l $USER -c "${PLAY} start ${APPLICATION_PATH} --%prod-test >/dev/null"

Ou exporte o caminho para o processo, assim:

su $USER -c "export PATH=$PATH:/home/usr/bin/ffmpeg; ${PLAY} start ${APPLICATION_PATH} --%prod-test >/dev/null"
    
por 04.03.2014 / 10:44