
Quero executar um processo com um usuário específico.
No RHEL 7, posso fazer isso com:
source /etc/rc.d/init.d/functions
daemon --user=myuser $JAVA_HOME/bin/java -cp $appClassPath $MAIN_CLASS
Como posso conseguir o mesmo comportamento no SLES12? O /etc/rc.d/init.d/functions
não está disponível no SLES12 pronto para uso.
Responder1
SUSE deseja que você use LSB start_daemon. (https://en.opensuse.org/openSUSE:Packaging_init_scripts).
Mas não tenho certeza se isso continuará nos tempos do sistema ou se está prestes a ser eliminado.
É claro que a maneira recomendada em sistemas systemd é criar uma unidade systemd ...
Caso contrário, use as ferramentas padrão como runuser
ou su
mesmo sudo, que tem a conveniência de poder chamá-lo como qualquer usuário com permissão para executar essa linha de comando.
Antecedentes e desanexe seu programa dentro desses wrappers (ou execute-o). Possivelmente com ajuda do nohup.
Isso está mais em conformidade com os padrões e não está acoplado a uma infraestrutura de sistema init obsoleta.