- - PR -
コマンドの最大引数サイズについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-06-13 09:57
Red hat linux AS 3.0についてお聞きしたいことがあります。
コマンドに最大引数サイズ(プロセスの数が多すぎると機能しない)などはあるのでしょうか? 例)「ps -aux | grep ** | grep ** |grep **」 などでプロセスがあることを確認したいと考えております。 |
|
投稿日時: 2006-06-13 13:38
今UNIXマシンが手元になくて確認できませんし、Linuxでは違うかもしれませんが
たいていのUNIXは MAX_ARGSという定数をproc.h(これは間違ってるかも)に定義してあって、 それを超える引数をプロセスには渡せません。 昔そのサイズが64kのマシンで cd / ; ls */*/*/*/*/*/*/* とかやってコケました。 プロセスの数にも制限はありますが、アップされてる内容とは違うでしょう。 |
|
投稿日時: 2006-06-13 15:39
1つのプロセスを exec システムコールで起動する時に ARG_MAX の長さ制限があります。POSIX 準拠であれば ARG_MAX は 4KB 以上です。
それとは別に、シェルが扱えるコマンドラインの長さの限界があります。これはシェルに依存していて、数KBから数十KBだった気がします。 子プロセスを起動できる最大数は sysconf(_SC_CHILD_MAX) で得られます。それとは別に、シェルによって制限があるかもしれません。 |
|
投稿日時: 2006-06-13 18:26
progmanさん、スフレさん返信ありがとうございました。
|
1