UNIXの場合、プロセスが停止しています。デッドロックの可能性があると思われます。デッドロックの理由とその除去方法と回避方法を教えてください。UNIX上のプロセスのデッドロック理由を実際に見つける方法
私はデッドロックのための4つの条件を知っている:相互排他
を:リソースは、時間(なしシェアリング)で最大1つのプロセスに割り当てることができます。
保留と待機:リソースを保持する処理で別のリソースを要求することができます。
プリエンプションなし:プロセスはリソースを解放する必要があります。彼らは連れ去られない。
循環待ち:チェーンの各メンバーがチェーンの次のメンバーが保持するリソースを待っているような一連のプロセスが必要です。
しかし、理論的には、どのようにしてUNIX上でデッドロックを判断するのですか? プロセスが進行していないことを確認するだけですか? コードのどの部分がデッドロックとその原因を見つけるのか? ツールを使用することが許可されている場合、何が使用できますか?
ありがとう
この質問はあまりにも一般的です。デッドロックしている特定のプログラムについて質問している場合は、詳細を伝えることができます。 –
"プロセス"を "スレッド"に置き換えるとあなたの質問がより良くなると思いますか? – qqqqq