Linuxコマンド「strace」


straceコマンドはプロセスが呼び出すシステムコールをトレースすることで、不具合の手がかりを探すことができます。(Macであればsudo dtrussでシステムコールを確認できます)

sudo strace -tt -s 1024 -p [PID]

😼 便利なオプション

straceのオプションをいくつか紹介します。

オプション 説明
-c システムコールの呼び出された回数、かかった時間などの統計情報を出力します
-e trace=xxx 特定のシステムコールに絞ってトレースできます
-o ファイルへ出力します
-p [PID] プロセスIDを指定します
-s 出力文字数を指定します
-tt 文頭にタイムスタンプをマイクロ秒単位で出力します

🐝 応用例

nginxがどの設定ファイルを開いているか

strace nginx 2>&1 | grep 'open' | grep '.cnf'

🐞 参考リンク

📚 おすすめの書籍