完了するまでに数時間かかるpythonプログラムを実行しています。ラップトップの蓋を閉じた場合(スリープ状態にした場合)、ラップトップを再度開いたときにプログラムが再び起動しますか?すでに数時間経っていて、すぐに離れなければなりません(ラップトップを閉じる必要があります)が、プロセスを再び開始したくありません。プログラムはまったく同じポイントから始まりますか? Ubuntu 16.04のデフォルトの動作は何ですか?
Fyi、ネットワークリソースを使用しない分類子(CPUとRAMのみ)の相互検証を実行しています。
簡単な答えはyesですが、真実はもう少し複雑です。
はい、アプリケーションは引き続き実行されます。システムの残りのプロセスで再開されます。ただし、ネットワーク接続やグラフィックスドライバーの状態など、ステートフルなものがあります。これらは外部ハードウェアで再初期化する必要があり、それは最初に追加されたネットワーク遅延、または適切な切断-再接続さえ意味するかもしれません(イーサネットで私に起こるように)。特に悪い状況-明らかにルールの例外-では、デスクトップ環境全体がクラッシュして再起動する可能性があります。
だから私はあなたに何が起こるかを保証することはできません。ネットワーク接続が失われた場合にアプリケーションがクラッシュする場合は、問題がある可能性があります。レンダリングやCUDA/OpenCLなどを実行している場合、破損する可能性があります。
それが単なるCPU /ディスクのことなら、それは問題ないはずです。
しかし、確実に知っている人。コンピューターは私たちすべてをだます。
幸運を。
システムをサスペンド(スリープ状態)すると、現在実行していることを表すすべてのCPUレジスタなどがRAMに保存され、RAMの内容を保持するコンポーネントを除くほとんどのコンポーネントの電源が切れます。後でコンピューターを再び起動するために必要なもの(入力デバイスなど)。
後で再び起動すると、以前の状態が復元され、コンピューターは中断した時点で正確に続行されます。
これが主な概念です。もちろん、実際にはもっと多くのことが起こります。これは、指を切り取ったときに魔法のように起こるわけではないからです。サスペンド前およびウェイクアップ後に実行される多くのシステムスクリプトなどがあります。
ただし、手動で何かを設定しない限り、コンピューターを中断しても実行中のアプリケーションは閉じられません。プロセスで何かがクラッシュするという小さなリスクがありますが、通常は一度機能すれば常に機能します。
ラップトップがsleep(= suspend)になったら、間違いなくはい。中断できる唯一のものは、ネットワーク接続または同様のリアルタイムのものです。その場合、実行中のプログラムが一時的な障害を受け入れて回復するように安全に記述されているかどうかに依存します。
ラップトップがpowers offの場合、間違いなく---コントロールパネルのどこかに2つの動作を決定するオプションがあると思います。
確認したい場合は、コントロールパネルの電源オプションから、ふたを閉じたときに余分な操作を行わないようにコンピューターを選択できます。つまり、ふたを閉じたり開いたりしても、コンピューターの状態には影響しません。そうすれば、プログラムが中断なしで実行されることが保証されます。