SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

[Linux] 1個の引数の長さの上限

問題

コマンドの引数の個数が多すぎるとエラーになりますが、1個の引数が長すぎてもエラーになりますか?最大値は?

Argument list too long

答え

以下でパラメータのサイズの上限が確認できるという話はよく見かける。

$ getconf ARG_MAX
2097152

100文字ぐらいのファイルが2万個あると、引数が200万byteを超えて rm * が失敗するといったもの。

ただ、1個のとても長い引数がある場合でも Argument list too long が発生する。

それは MAX_ARG_STRLEN という定数があり、ページサイズ*32 → 128kb であることが多いらしい。

実際に手元の RHEL9互換の環境で試すと、13万文字付近を超えるとエラーになるのが確認できた。

環境によると思われるが、1個の引数の長さの限界は128kbあたりのようだ。

関連するメモ

コメント