ある場所にラズベリーがあり、Pythonスクリプトを「永久に」実行する必要がある場合(1年、おそらく2、場所にいなくても)、どれくらいの頻度で再起動する必要がありますか?私は人々が1年以上生き続けていることを知っていますが、特定の時間にそれを再起動できるシンプルなスクリプトを作成しました+ raspberryはブート時にPythonスクリプトを自動的に実行します。
ある場所にラズベリーがあり、Pythonスクリプトを「永久に」実行する必要がある場合(1年、おそらく2、場所にいなくても)、どれくらいの頻度で再起動する必要がありますか?私は人々が1年以上生き続けていることを知っていますが、特定の時間にそれを再起動できるシンプルなスクリプトを作成しました+ raspberryはブート時にPythonスクリプトを自動的に実行します。
回答:
ハードウェアに関しては、ARMHF-yボードを再起動する必要がある唯一の理由は、ファームウェアの変更、ROMの必要な変更、またはブート時に存在しなければならない新しいデバイスです。
たとえば、ドライバーまたは金属に近いカーネルモジュールと、そのドライバーを実装するデバイスを追加する場合は、CPUとカーネルメモリマッパーに変更を通知するために、おそらく再起動が必要になります。再起動せずにLinuxカーネルを更新できます。
ソフトウェアに関しては、Piで利用可能なすべての主要なコンピューティング環境は* nixのような1であり、True Unix™であるか、LinuxまたはLinux派生物を使用しているため(U)nix-yです。
Unixとその派生物は、完全にスケーラブルで、移植性があり、信頼できるように、ブートローダーからユーザーランドまで設計されています。ハードリセット(または完全にシャットダウンし、ゼロからコールドブートすることもあります)をまったく、またはほとんど受けないサーバーと、Raspberry Piとまったく同じ組み込みデバイス向けに設計されました。したがって、これらの目標は実際にPiに適用されます。
実際にはこの手段は、あなたは基本的には(そのことについては、またはあなたの* nixのデスクトップPC)あなたのパイを再起動する必要はありません。
1しばらくの間、Microsoft Windows 10: Piのモノのインターネット版を無視します。これは実際的な冗談になりたいのですが、そうではありません。
以前に書かれたものに同意します。完璧にエラーを処理し、メモリリークが発生しない優れたソフトウェアを使用した理論的な状況では、再起動は必要ありません。
私はサイトに50以上のPI(すべてPI 3)があり、一部は毎週リブートされ、その他は決して...ほぼすべてのPIがキオスクモードで使用され、ビデオの再生、Webサイトの表示、スクリプトの実行、...ユーザーの経験は私にとって重要であり、PIが失敗する余裕はありません。それらすべてにウォッチドッグがインストールされています。
私のサイトでは、次のアプローチを使用しています(これは自分の経験のみを使用しており、科学的背景はありません:-))
サーバー(Apache、SIPなど)を実行し、イーサネットケーブルでのみ接続されているPI:それらを再起動することはありませんが、一部の稼働時間はほぼ2年です(実際、アップグレードしませんでした)!
それどころか、ビデオループを実行するPI(OMXPlayerを使用):これらのデバイスを毎週再起動します。再起動しないようにしようとしましたが、気付かないうちにビデオがハングすることがあります。そのため、画面に静止画像が表示されます。1か月の間に、デバイスごとに、ビデオが1回フリーズする確率が約50%だったと思います。これらのリスクを最小限に抑えるために、週に1回再起動することにしました。これまでのところ、1年に1回の週単位の再起動後、フリーズは2回しかありませんでした(イメージフリーズ、PIフリーズなし)。もちろんそれらも排除したいのですが、これは別のトピックです。これらの場合、再起動がSDカードに与える影響は気にしません。これが発生した場合、新しいSDカードを入れて、適切なビデオでテンプレートを更新するだけだからです。
クライアントモードにあり、ユーザーインタラクション(主にタッチスクリーンおよび/またはボタン)でWebベースのユーザーコンテンツ(Chromium、KWebなどを使用)を表示するPI:私はそれらを毎月リブートし、これまでのところ何の問題もありませんでした。それらを再起動する必要はないかもしれませんが、それらのデバイスがスクリプト(Java、Node.js)を実行し、他のデバイスから入力を受け取ると、ある時点で再起動が必要になると考えたため、1か月間行くことにしましたリブート。
私はこれがあなたの質問に直接答えているわけではないことを理解していますが、個人的な経験を共有したいので、他の答えと一緒にあなたのプロジェクトに最適なアプローチを判断できます。