bashファイルを呼び出してJavaプログラムを実行しているUbuntu 22.04ラップトップでシステムサービスを作成しました。
[Unit]
Description=Script to run JMS
[Service]
ExecStart=bash /home/user/Desktop/path_to_my_file/run_java.sh
[Install]
WantedBy=run_jms.target
このプロセスを開始すると、Javaプログラムによって生成されたすべてのファイルが書き込み禁止。ただし、コマンドラインからbashファイルを直接実行すると、結果ファイルが書き込み防止なし。
systemdサービスが書き込み禁止ファイルを生成するのを防ぐ方法は?
答え1
User
に指定しないと、サービス[Service]
の出力が他のユーザーに属する可能性があるため、書き込み禁止になっている可能性があります。この問題を解決するには、次の行を追加します。
[Service]
ExecStart=bash /home/user/Desktop/path_to_my_file/run_java.sh
User=user