특정 사용자를 대상으로 프로세스를 실행하고 싶습니다.
RHEL 7에서는 다음을 사용하여 이를 달성할 수 있습니다.
source /etc/rc.d/init.d/functions
daemon --user=myuser $JAVA_HOME/bin/java -cp $appClassPath $MAIN_CLASS
SLES12에서 동일한 동작을 달성하려면 어떻게 해야 합니까? /etc/rc.d/init.d/functions
SLES12에서는 기본적으로 기능을 사용할 수 없습니다.
답변1
SUSE에서는 LSB start_daemon을 사용할 것으로 예상합니다. (https://en.opensuse.org/openSUSE:Packaging_init_scripts).
하지만 시스템화 시대에도 계속 존재할지, 아니면 곧 단계적으로 폐지될지는 확실하지 않습니다.
물론, systemd 시스템에서 권장되는 접근 방식은 systemd 단위를 생성하는 것입니다...
runuser
그렇지 않은 경우 sudo 또는 sudo와 같은 기본 도구를 사용하십시오 su
. 이는 명령줄 실행 권한이 있는 모든 사용자로 호출할 수 있다는 점에서 편리합니다.
이러한 래퍼에서 프로그램을 배경화하고 분리합니다(또는 실행). nohup의 도움이 필요할 수 있습니다.
이는 표준을 더 잘 준수하며 더 이상 사용되지 않는 init 시스템 인프라와 결합되지 않습니다.