
Quiero ejecutar un proceso con un usuario específico.
En RHEL 7, puedo hacer esto con:
source /etc/rc.d/init.d/functions
daemon --user=myuser $JAVA_HOME/bin/java -cp $appClassPath $MAIN_CLASS
¿Cómo puedo lograr el mismo comportamiento en SLES12? No está /etc/rc.d/init.d/functions
disponible en SLES12 de fábrica.
Respuesta1
SUSE quiere que utilice LSB start_daemon. (https://en.opensuse.org/openSUSE:Packaging_init_scripts).
Pero no estoy seguro de si continuará en tiempos de systemd o si está a punto de eliminarse gradualmente.
Por supuesto, la forma recomendada en los sistemas systemd es crear una unidad systemd...
De lo contrario, utilice las herramientas predeterminadas como runuser
o su
incluso sudo, que tiene la conveniencia de que puede llamarlo como cualquier usuario con permisos para ejecutar esa línea de comando.
Antecedentes y separe su programa dentro de estos contenedores (o ejecútelo). Posiblemente con la ayuda de nohup.
Esto se ajusta más a los estándares y no está acoplado a una infraestructura de sistema de inicio obsoleta.