結論
結論
アプリケーションを自動で起動するサービスを自作する
手順
- serviceを作成する
- serviceを起動する
サービスの作成方法
sudo vi /lib/systemd/system/apps.service
[Unit] Description=webapps start program [Service] WorkingDirectory=/home/ubuntu/apps/ Type=simple ExecStart=/bin/bash -c 'cd /home/ubuntu/apps && . /home/ubuntu/anaconda3/bin/activate venv && python apps.py' User=ubuntu [Install] WantedBy=multi-user.target
ExecStartでカレントディレクトリに移動、condaで仮想環境に入る、apps.pyの実行を行っている。
注意
サービスは、root権限で行われる。そのため、conda activate 環境名
ではなく、
. /home/ubuntu/anaconda3/bin/activate 環境名
にして、サービスに登録している。
上記のようにしないと、condaがcommand not foundになってしまう。
サービス起動
下記を実行すると、次回再起動時からapps.serviceが自動起動される
- systemctl enable apps.service
- systemctl daemon-reload
- systemctl start apps.service
コメント