(2020年3月追記あり)(2022年12月追記あり) Unix系OSのpsコマンドには、wchanという項目を表示するオプションがある。wchanは、何かを待っている (stat項がSやD) プロセスやスレッド (Linux内部の用語ではタスク) が、何を待っているかを示すヒントを示すもので、トラブルシューティングなどでは重要な項目だ。*BSDを含むUnixでは、カーネル内で待ちに入る時に文字列を指定することになっており、この文字列がwchanに現れる。一方で、Linuxでは、待ちに入ったカーネル内の関数名を示すようになっている。このwchanの関数名がどのように求められているのか調べてみた。 Linuxのwchan Linuxのカーネル内で待ちに入る時には、schedule()という関数を呼び出す。プロセススケジューラが呼び出され、他の走行可能なタスクが一つ選択されてタスク切り替えが行