起動時にマウントポイントを繰り返すためにsystemdを使用してサービスとして実行されるPythonスクリプト

起動時にマウントポイントを繰り返すためにsystemdを使用してサービスとして実行されるPythonスクリプト

システムの起動時にマウントポイントを繰り返すためにPythonスクリプトを使用したいと思います。

スクリプトは完全にブートされたシステムで正常に実行されますが、(起動した場合でもsudo systemctl start launcher.service)再起動後に起動するとマウントポイントが見つかりません。

システムが起動時に外部デバイスをマウントするのに少し時間がかかるように見えますが、それより前にスクリプトが起動されるため、サービスを後で実行するように変更する必要があります。

私の現在のサービスには[Unit]にAFTERがありません。

[Unit]
Description=Python script executing after reboot.

[Service]
Type=simple
User=jetson
WorkingDirectory=/home/jetson/
ExecStart=/usr/bin/python3.6 /home/jetson/launcher_script.py

[Install]
WantedBy=multi-user.target

AFTER=___ドライブがマウントされているシステムでスクリプトを起動するには、systemdで何を使用する必要がありますか?または、ブートされたシステムでスクリプトを自動的に実行するより安定した方法はありますか?

問題は、Jetsonがドライブを/media/jetson/9DC3-C264または/media/4A21-EE5D。これが設定ファイルを取得するマウントポイントを繰り返すためにPythonスクリプトを作成した理由の1つです(そしてfstab毎回別のドライブ/カードになる可能性があるためマウントできません)。

Pythonスクリプトは次のとおりです。

#!/usr/bin/python3.6

import psutil
partitions = psutil.disk_partitions()

for p in partitions:
    if p.mountpoint != '/':
        #DO SOMETHING

私のシステムはNVIDIA JetsonのUbuntu 18.04です。外部のmicroSDカードまたはUSBドライブを介して、ユーザー入力やネットワークなしでソフトウェアを更新したり、パラメータを変更したりする可能性を追加したいと思います。また、ドライブがマウントされることを保証できず、とにかくスクリプトを起動したいと思います。

ベストアンサー1

おすすめ記事