プロセスを終了すると、そのプロセスで開かれたすべてのファイルが閉じますか?

プロセスを終了すると、そのプロセスで開かれたすべてのファイルが閉じますか?

データベースに開いている接続を持つプロセスを終了したいと思います。プロセスを終了すると、データベースがロック解除されたことを確認できますか?

ベストアンサー1

「呼び出しプロセスで開かれたすべてのファイル記述子、ディレクトリストリーム、翻訳記述子、およびメッセージディレクトリ記述子は閉じる必要があります。」 POSIXでは、シグナルによってプロセスが終了した場合(つまり「終了」)、発生する必要があると言います。

したがって、クライアント(サーバーにアクセスするプロセス)は必ずネットワーク接続を閉じます。行動仕える人(「データベース」)顧客(「あなたのプロセス」)は、サーバーの裁量(検出とアクション)に従って終了します。

クライアント側では、ネットワーク接続は確かに閉じられていますが、この場合、サーバーがセッションで何をしているのかを知ることは困難です。テーブルまたはテーブルの行のロックを保持している場合はいつ解放する必要がありますか?

MySQLにはアイドルセッションのタイムアウトがあり、その後は消えるクライアントが保持しているロックを解除します(参照:このStackOverflowの質問)。何が起こっているのかを確認するには、使用している特定のデータベースのドキュメントを確認する必要がありますが、私の考えにはほとんどの場合アイドルタイマーが含まれます。

おすすめ記事