web-dev-qa-db-ja.com

「同期」は待機しますか?

Raspberry Piでjuice4halt(小さなスーパーキャパシタUPS)を使用していますが、haltにかかる時間が長すぎるため、システムの電源が不足していることがわかりました。

したがって、私の目標は、システムをできるだけ速くシャットダウンすることです。最適なのは5秒です。

私の考えは、これを行うスクリプトを用意することです。これは、重要なものだけを永続ストレージに保存します。

sync
Sudo service mysql stop
sync
halt -f

私の質問は次のとおりです。

1)これは安全ですか?変更が同期されるまでsync待機するか、同期が呼び出されるか、およびhalt -fそれを中断しますか?

2)すべてが機能することをデバッグ/検証するために、ディスクに書き込まれていないバッファがあるかどうかを示すコマンドはありますか?

システム:Linux ras3 4.19.42-v7 +#1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux

4

投稿したコマンドは並列ではなく1つずつ実行されるため、haltは同期が完了した後にのみ実行されます。

&syncに追加した場合、

sync & 
halt - f

同期はバックグラウンドで機能し、停止が同時に実行されるため、coukdは時間内に終了しません。

要約すると、停止が呼び出される前に同期を完全に実行しても安全です。

[〜#〜] note [〜#〜]:手動で同期を呼び出すことは一般的ではありません。ほとんどの場合、このコマンドは、Linuxカーネルを不安定にする可能性があると思われる他のコマンドを実行する前、または何か悪いことが起こりそうな場合(たとえば、Linux搭載のバッテリーが不足しそうな場合)に実行されます。ラップトップ)そしてあなたは完全なシステムシャットダウンを実行する時間がありません。

システムを停止または再起動すると、オペレーティングシステムは、必要に応じて、メモリ内のデータを永続ストレージと自動的に同期します。

2
Bart