Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック問題122

問題122 使ったプロセス数のカウント

問題のファイルは

https://github.com/shellgei/shellgei160

からダウンロードできる。

今回はカンが当たって正解できた。問題のコマンド

xargs -n 1 < words

を実行したときにできる子プロセスの数を数える問題だった。子プロセスは元のプロセスのクローンを作って実行していると以前聞いたことがあったのでcloneのシステムコールの数を数えればいいと考えて解答した。

解答は

( strace xargs -n 1 < words > /dev/null ) |& grep '^clone(' | wc -l

となった。最初はstraceの出力を2>&1として標準入力に流していたがよく考えたらxargsの出力と混ざるのでやめにした。