2016-03-18 9 views
8

documentationでは、シャットダウンスクリプトはベストエフォート型でのみ実行され、実行される保証はないと言われています。私は彼らがどこに行かないのか、どんな状態になるのだろうかと思っています。シャットダウンスクリプトが保証されないのはなぜですか?

編集

AndyJが指摘したようにスクリプトが実行されるを想定しているとき、私がリンクされドキュメントが説明しています。明確にするために、私はそれをすべて読んだが、走る保証の欠如には、通常想定されている条件が含まれているように思えた。

だから、私の質問より良いフレーズに、スクリプトは、ドキュメントが、それはそれを実行し、または唯一のそれはないが、必ずしもそれがう必要があるときときということであると言う条件で実行することが保証されて?

+1

シャットダウンスクリプトは、例外を生成する、無限ループでハングする、またはリソースが消失するほど長く実行されます。 –

+0

これは奇妙なことですが、5人があなたの質問を強調しましたが、あなたがリンクしたドキュメントを読んだ人はいませんでした。答えに興味がある人は基本的な努力をしていただろうと思っていたでしょう! – AndyJ

答えて

1

あなたがリンクしているdocumentationにこれが記載されています。インスタンスが再起動するか、終了が予定されているとき

シャットダウンスクリプト呼び出し

シャットダウンスクリプトが実行されます。 インスタンスを再起動または終了するには多くの方法がありますが、いくつかのアクションだけがシャットダウンスクリプトの実行をトリガーします。

インスタンスは、instances()。deleteを使用して削除されます。要求。これには、Google Cloud Platformコンソールやgcloudなど、APIを使用するツールやスクリプトが含まれます。 インスタンスは、コンソールまたはinstances.stop()メソッドによってシャットダウンされます。 インスタンスは、sudoのシャットダウンやsudoの再起動など、ゲストオペレーティングシステムへの要求によって再起動またはシャットダウンされます。

注:シャットダウンスクリプトでネットワーク接続が必要な場合は、ネットワーク接続の切断に関する既知の問題のため、この方法を使用してインスタンスをシャットダウンすることをお勧めします。この問題は、主に、ゲストオペレーティングシステムの外部でシャットダウンされたインスタンスに影響します。 instances()。resetを使用してインスタンスをリセットした場合、シャットダウンスクリプトは実行されません。

シャットダウンスクリプトシャットダウンスクリプトが呼び出されると、時間

が、それは要求がインスタンスが実際に終了したときに、インスタンスをシャットダウンまたは再起動させるとの間で、実行するための限られた時間を持って実行しています。この期間中、Compute Engineはシャットダウンスクリプトを実行しようとしますが、この時間よりもスクリプトの実行が完了すると、インスタンスは自動的に終了し、実行中のすべてのタスクは強制終了されます。ゲストOSへのリクエスト(例:sudo shutdownの実行)によってインスタンスをシャットダウンまたは再起動した場合、制限は適用されません。

一般に、この期間内にシャットダウンスクリプトが実行され、オペレーティングシステムがバッファをディスクにフラッシュするなど、シャットダウンを完了するのに時間がかかることが推奨されます。

この制限時間の詳細については、シャットダウン期間を参照してください。

+0

引用したセクションを既に読んで理解しています。更新された質問をご覧ください。 – nathanjosiah

関連する問題