Linuxで各スレッドが使用しているCPU番号の出力

マルチコアCPUを活かしたコードをデバッグしている際に、動作しているCPU番号を知りたいというケースがあったので、出力させてみた。
/proc/[pid]/statの(39)にプロセスを最後に実行したCPUの番号が格納されているのでそれを取得する。

[gist id=11335550]

procのmanpageにはscanf(3)のフォーマット指定子がついているが、必要な情報以外は*を指定して読み飛ばしているため、%*lluのように長さを指定している部分と合わせて指定すると、
warning: use of assignment suppression and length modifier together in gnu_scanf format
という警告が出る。警告を取り除くには上記コードで指定しているように”ll”を外して%*uと指定する。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です