起動後すぐにアプリケーションを実行する方法を探しています。このアプリケーションは1時間後にタイムアウトします。初期起動から1時間(初期アプリケーションタイムアウト後)にアプリケーションの他のインスタンスを起動したいと思います。私はCronがこのタスクを実行するように(賢く)設定できると思いました。起動時にシステムクロックを00:00:00にリセットし、Cronを正常に実行する以外に他の方法はありますか?よろしくお願いします。
修正する:maulinlawnの提案に従ってSystemd.serviceアプローチを使用しました。特に、/usr/bin/startVideo/startVideo.pyにPythonスクリプトのコピーを配置しました。次に、/lib/systemd/service/startVideo.service にサービスファイルを作成します。このファイルは、
[Unit]
Description=starts video recorder
[Service]
Type=simple
ExecStart=/usr/local/bin/startVideo/startVideo.py
Restart=always
[Install]
WantedBy=multi-user.target
やっぱり逃げて、
sudo systemctl enable startVideo.service
登録サービス。モニターやキーボードが接続されていない状態で、カメラに接続されたRaspberry Pi3で動作します。私は年中無休の24時間ビデオを録画することができ、電源が切れたら自分で再起動できるシステムを探しています。他の提案?このタイプのアプリケーションに対して「WantedBy」が正しく設定されていますか?
Crowellのこのソリューションとガイドラインに感謝します。
ベストアンサー1
あなたの説明に基づいてsystemd
(私のすべてのコンピュータにこれがあるので)ファイルを使って.service
アプリケーションを起動します。。
サービスファイルから単純なwhileループでアプリケーションをラップするスクリプトを指します。このような:
#!/bin/sh
while true; do
/path/to/your/application
done
これにより、アプリケーションがシャットダウン(「タイムアウト」)されるたびにループの条件が常に真であるため、それ自体が再起動されます。
これは1つの方法であり、私が考えることができる最も簡単な方法です。他の方法もあるかもしれません!