다른 사용자가 다시 시작할 때 자동으로 응용 프로그램을 실행하는 방법은 무엇입니까?

다른 사용자가 다시 시작할 때 자동으로 응용 프로그램을 실행하는 방법은 무엇입니까?

Tomcat이 설치된 ec2 시스템/redhat이 있습니다. 저는 ec2-user가 아닌 userX만이 이 애플리케이션을 시작하기를 원합니다. 그러나 재부팅 후 ec2는 자동으로 ec2-user로 시작됩니다. userX가 startup.sh자동으로 명령을 실행하게 하려면 어떻게 해야 합니까? 현재는 userX로 로그인하여 수동으로 수행하고 있습니다. bash /opt/tomcat/bin/startup.sh 감사합니다.

답변1

만들다시스템 서비스User=userX서비스 정의에 있습니다. 활성화되면 systemd는 부팅 시 이를 시작합니다.

답변2

파일 만들기/etc/systemd/system/whatever.service

이 파일의 내용은 다음과 같이 간단할 수 있습니다.

[Unit]
Description=<whatever>
After=default.target

[Service]
Type=idle
User=<USERX>
Group=<GROUPX>
ExecStart=/opt/tomcat/bin/startup.sh
TimeoutStartSec=0

[Install]
WantedBy=default.target

생성한 사용자 정의 시스템 서비스 파일의 소유권과 권한을 설정하세요.

chown root.root /etc/systemd/system/whatever.service

chmod 644 /etc/systemd/system/whatever.service

실행 중인 서비스에 대한 소유권 및 실행 권한을 설정합니다.

chown USERX.GROUPX /opt/tomcat/bin/startup.sh

chmod 750 /opt/tomcat/bin/startup.sh

sysytemctl daemon-reload

systemctl enable whatever.service

whatever.service생성한 사용자 정의 파일에서 구성할 수 있는 모든 항목에 대해서는 다른 포스터의 시스템 서비스 설명 링크를 참조하세요. 이름을 원하는 대로 변경하세요.

관련 정보