他のユーザーが再起動したときにアプリケーションを自動的に実行する方法は?

他のユーザーが再起動したときにアプリケーションを自動的に実行する方法は?

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作成したカスタムファイルで設定できるすべての項目については、他のポスターのシステムサービス説明リンクを参照してください。名前を好きなように変更してください。

関連情報