[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
issue with xargs
From: |
Hunter Peress |
Subject: |
issue with xargs |
Date: |
26 Apr 2002 10:02:20 -0400 |
xargs says it the largest arg it can take per command line is 20k chars
which is "the largest possible".
In bash I can easily put over 10x that amount.
The amount seems to differ by machine, maybe has to do with amount of
memory, or kernel...
from man xargs:
--max-chars=max-chars, -s max-chars
Use at most max-chars characters per command line,
including the command and initial arguments and the
terminating nulls at the ends of the argument
strings. The default is as large as possible, up
to 20k characters.
I wish to use xargs for this feature, so that if the input IS greater
than this "max", then xargs will naturally just create the another
instance of the command with the remaining arguments.
***SO***:
Do you think it's necessary to update the program such that xargs
reflects whatever the system can support in terms of length of command
line, OR, to arbitrarily cap it off at 20k, or some other optimal value.
The reason i use xargs in this case is to reduce the amount of forking
that happens with a whole bunch of arguments.
Anyway what tests do you think should be done to determine whether such
a change is warranted.I might volunteer to produce a set of reproducible
tests as I wish to 'cut my teeth'.
Here is the cute python program I used to test bash for max length:
#!/usr/bin/python
import sys
if len(sys.argv) < 2:
print "missing arg"
sys.exit(0)
#This ensures the exact amount of chars that argv[1]
#specifies
stropen="echo '"
strclose="'"
c=len(stropen)+len(strclose)
numc = int(sys.argv[1])-c
open("f","w").write(stropen+("-"*numc)+strclose)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- issue with xargs,
Hunter Peress <=