スクリーンセッションで実行されているシステムサービスのログ出力をキャプチャします。

スクリーンセッションで実行されているシステムサービスのログ出力をキャプチャします。

私はMinecraftサーバーをシステムサービスとして実行しています。サービスはExecStartスクリプトへのパスで、その内容は次のとおりです。

screen -L -DmS minecraft java -Xmx4096M -Xms1024M -jar server.jar nogui

つまり、フォークではなく単純なサービスとして実行されます。

java呼び出しの結果をスクリーンセッションに表示することに加えて、systemdの一般的なメカニズムを通して記録したいと思います。私はsystemdに初めて触れたので、どこから始めるべきかわかりません。tee呼び出しの結果をjava別のものに置き換えることはできますか?

答え1

結局、サーバーの動作方法を変更して問題を解決しました。画面の使用を完全に中断し、MinecraftのRCONサポートを使用してサーバーを制御(停止)しました。これが私が質問した質問に正確に答えるかどうかはわかりませんが、Minecraftサーバーを排他的に実行しているすべての人に機能します。

詳しくはこちらをご覧ください。systemdを使用したMinecraftサーバーの起動/停止

関連情報