mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-26 06:37:56 +00:00
parallel: Bugfix for -k --timeout used in --filter-host.
--sshloginfile is now searched for in . too. --timeout more efficient. Passes testsuite.
This commit is contained in:
parent
96ba577d85
commit
be6fe3846f
52
src/parallel
52
src/parallel
|
@ -118,7 +118,7 @@ if($opt::filter_hosts and (@opt::sshlogin or @opt::sshloginfile)) {
|
|||
my ($fh, $tmpfile) = ::tempfile(SUFFIX => ".ssh");
|
||||
print $fh @cores, @cpus, @maxline, @echo;
|
||||
close $fh;
|
||||
my $cmd = "cat $tmpfile | $0 -j0 -s 1000 --joblog - --plain --tag --tagstring {1} --colsep '\t' -k eval {2} 2>/dev/null";
|
||||
my $cmd = "cat $tmpfile | $0 -j0 --timeout 5 -s 1000 --joblog - --plain --tag --tagstring {1} --colsep '\t' -k eval {2} 2>/dev/null";
|
||||
::debug($cmd."\n");
|
||||
open(my $host_fh, "-|", $cmd) || ::die_bug("parallel host check: $cmd");
|
||||
my (%ncores, %ncpus, %time_to_login, %maxlen, %echo);
|
||||
|
@ -135,18 +135,21 @@ if($opt::filter_hosts and (@opt::sshlogin or @opt::sshloginfile)) {
|
|||
# Get server from: eval true server\;
|
||||
$col[8] =~ /eval true..([^;]+).;/ or ::die_bug("col8 does not contain host: $col[8]");
|
||||
my $host = $1;
|
||||
if($col[6] eq "255") {
|
||||
# signal == 255: ssh failed
|
||||
$host =~ s/\\//g;
|
||||
$Global::host{$host} or next;
|
||||
if($col[6] eq "255" or $col[7] eq "15") {
|
||||
# exit == 255 or signal == 15: ssh failed
|
||||
# Remove sshlogin
|
||||
delete $Global::host{$col[1]};
|
||||
::debug("--filtered $host\n");
|
||||
delete $Global::host{$host};
|
||||
} elsif($col[6] eq "127") {
|
||||
# signal == 127: parallel not installed remote
|
||||
# Set ncpus and ncores = 1
|
||||
::warning("Could not figure out ",
|
||||
"number of cpus on $col[1]. Using 1.\n");
|
||||
$ncores{$col[1]} = 1;
|
||||
$ncpus{$col[1]} = 1;
|
||||
$maxlen{$col[1]} = Limits::Command::max_length();
|
||||
"number of cpus on $host. Using 1.\n");
|
||||
$ncores{$host} = 1;
|
||||
$ncpus{$host} = 1;
|
||||
$maxlen{$host} = Limits::Command::max_length();
|
||||
} elsif($col[0] =~ /^\d+$/ and $Global::host{$host}) {
|
||||
# Remember how log it took to log in
|
||||
# 2 : 1372607672.654 0.675 0 0 0 0 eval true\ m\;ssh\ m\ echo
|
||||
|
@ -728,7 +731,7 @@ sub get_options_from_array {
|
|||
sub parse_options {
|
||||
# Returns: N/A
|
||||
# Defaults:
|
||||
$Global::version = 20130815;
|
||||
$Global::version = 20130816;
|
||||
$Global::progname = 'parallel';
|
||||
$Global::infinity = 2**31;
|
||||
$Global::debug = 0;
|
||||
|
@ -1852,8 +1855,12 @@ sub read_sshloginfile {
|
|||
$close = 0;
|
||||
} else {
|
||||
if(not open($in_fh, "<", $file)) {
|
||||
::error("Cannot open $file.\n");
|
||||
::wait_and_exit(255);
|
||||
# Try the filename
|
||||
if(not open($in_fh, "<", $ENV{'HOME'}."/.parallel/".$file)) {
|
||||
# Try prepending ~/.parallel
|
||||
::error("Cannot open $file.\n");
|
||||
::wait_and_exit(255);
|
||||
}
|
||||
}
|
||||
}
|
||||
while(<$in_fh>) {
|
||||
|
@ -3831,9 +3838,9 @@ sub runtime {
|
|||
sub endtime {
|
||||
# Returns:
|
||||
# UNIX-timestamp this job ended
|
||||
# now if not ended yet
|
||||
# 0 if not ended yet
|
||||
my $self = shift;
|
||||
return ($self->{'endtime'} || ::now());
|
||||
return ($self->{'endtime'} || 0);
|
||||
}
|
||||
|
||||
sub set_endtime {
|
||||
|
@ -3853,7 +3860,7 @@ sub kill {
|
|||
my $self = shift;
|
||||
my @family_pids = $self->family_pids();
|
||||
# Record this jobs as failed
|
||||
$self->set_exitstatus(1);
|
||||
$self->set_exitstatus(-1);
|
||||
# Send two TERMs to give time to clean up
|
||||
for my $signal ("TERM", "TERM", "KILL") {
|
||||
my $alive = 0;
|
||||
|
@ -3864,8 +3871,15 @@ sub kill {
|
|||
$alive = 1;
|
||||
}
|
||||
}
|
||||
# Wait 200 ms between TERMs - but only if any pids are alive
|
||||
if($signal eq "TERM" and $alive) { ::usleep(200); }
|
||||
|
||||
if($signal eq "TERM" and $alive) {
|
||||
# Wait up to 200 ms between TERMs - but only if any pids are alive
|
||||
my $sleep = 1;
|
||||
for (my $sleepsum = 0; kill 0, $family_pids[0] and $sleepsum < 200;
|
||||
$sleepsum += $sleep) {
|
||||
$sleep = ::reap_usleep($sleep);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5895,7 +5909,11 @@ sub process_timeouts {
|
|||
# $self->{'queue'} is sorted by start time
|
||||
while (@{$self->{'queue'}}) {
|
||||
my $job = $self->{'queue'}[0];
|
||||
if($job->timedout($self->{'delta_time'})) {
|
||||
if($job->endtime()) {
|
||||
# Job already finished. No need to timeout the job
|
||||
# This could be because of --keep-order
|
||||
shift @{$self->{'queue'}};
|
||||
} elsif($job->timedout($self->{'delta_time'})) {
|
||||
# Need to shift off queue before kill
|
||||
# because kill calls usleep that calls process_timeouts
|
||||
shift @{$self->{'queue'}};
|
||||
|
|
|
@ -9,4 +9,7 @@ echo '### --env _'
|
|||
echo '### --env _ with explicit mentioning of normally ignored var $PATH'
|
||||
fUbAr="OK FUBAR" parallel -S csh@lo --env PATH,_ echo '$fUbAr $PATH' ::: test
|
||||
|
||||
echo '### --filter-hosts --slf <()'
|
||||
parallel --nonall --filter-hosts --slf <(echo localhost) echo OK
|
||||
|
||||
EOF
|
||||
|
|
|
@ -27,8 +27,11 @@ echo '### bug #39787: --xargs broken'
|
|||
perl -e 'for(1..30000){print "$_\n"}' | nice parallel --xargs -k echo | perl -ne 'print length $_,"\n"'
|
||||
|
||||
echo '### --delay should grow by 2 sec per arg'
|
||||
stdout /usr/bin/time -f %e parallel --delay 2 true ::: 1 2 | perl -ne '$_ >= 2 and $_ <= 4 and print "OK\n"'
|
||||
stdout /usr/bin/time -f %e parallel --delay 2 true ::: 1 2 3 | perl -ne '$_ >= 4 and $_ <= 6 and print "OK\n"'
|
||||
stdout /usr/bin/time -f %e parallel --delay 2 true ::: 1 2 | perl -ne '$_ >= 2 and $_ <= 5 and print "OK\n"'
|
||||
stdout /usr/bin/time -f %e parallel --delay 2 true ::: 1 2 3 | perl -ne '$_ >= 4 and $_ <= 7 and print "OK\n"'
|
||||
|
||||
echo '### Exit value should not be affected if an earlier job times out'
|
||||
parallel -j2 --timeout 1 --joblog - -k ::: "sleep 10" "exit 255" | field 7
|
||||
|
||||
EOF
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ parallel --joblog /tmp/parallel_joblog_exitval 'sleep {} && echo sleep was not k
|
|||
parallel --joblog /tmp/parallel_joblog_signal 'sleep {}' ::: 100 2>/dev/null &
|
||||
sleep 1
|
||||
killall -6 sleep
|
||||
sleep 1.5
|
||||
sleep 2
|
||||
grep -q 134 /tmp/parallel_joblog_exitval && echo exitval OK
|
||||
grep -q '[^0-9]6[^0-9]' /tmp/parallel_joblog_signal && echo signal OK
|
||||
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
P_ALL="vax freebsd solaris openbsd netbsd debian alpha aix redhat hpux ultrix qnx irix tru64 openindiana suse openstep mandriva ubuntu scosysv unixware dragonfly centos miros hurd minix raspberrypi"
|
||||
P_NOTWORKING="vax alpha openstep"
|
||||
P_NOTWORKING_YET="ultrix tru64"
|
||||
P_NOTWORKING_YET="ultrix tru64 irix"
|
||||
|
||||
P_WORKING="freebsd solaris openbsd netbsd debian aix redhat hpux qnx irix openindiana suse mandriva ubuntu scosysv unixware dragonfly centos miros hurd minix raspberrypi"
|
||||
P_WORKING="freebsd solaris openbsd netbsd debian aix redhat hpux qnx openindiana suse mandriva ubuntu scosysv unixware dragonfly centos miros hurd minix raspberrypi"
|
||||
|
||||
P="$P_WORKING"
|
||||
POLAR=`parallel -k echo {}.polarhome.com ::: $P`
|
||||
|
|
|
@ -11,3 +11,6 @@ echo 'ssh "$@"; echo "$@" >>/tmp/myssh2-run' >/tmp/myssh2
|
|||
chmod 755 /tmp/myssh1 /tmp/myssh2
|
||||
seq 1 100 | parallel --sshlogin "/tmp/myssh1 $SSHLOGIN1, /tmp/myssh2 $SSHLOGIN2" \
|
||||
-j10000% -k echo
|
||||
|
||||
echo '### --filter-hosts - OK, non-such-user, connection refused, wrong host'
|
||||
parallel --nonall --filter-hosts -S localhost,NoUser@localhost,154.54.72.206,"ssh 5.5.5.5" hostname
|
||||
|
|
|
@ -5,7 +5,8 @@ SERVER2=parallel-server2
|
|||
SSHLOGIN1=parallel@$SERVER1
|
||||
SSHLOGIN2=parallel@$SERVER2
|
||||
|
||||
export PARALLEL=-j8
|
||||
export PARALLEL=-j0
|
||||
#export PARALLEL="--sshdelay 0.3"
|
||||
# Make sure sort order is the same
|
||||
export LANG=C
|
||||
|
||||
|
@ -14,7 +15,8 @@ echo '### Test --transfer --return --cleanup'
|
|||
rm -rf /tmp/parallel.file*
|
||||
stdout ssh $SSHLOGIN1 rm -rf 'tmp/parallel.file*' '/tmp/parallel.file*'
|
||||
stdout ssh $SSHLOGIN2 rm -rf 'tmp/parallel.file*' '/tmp/parallel.file*'
|
||||
(seq 1 3;echo '>fire';seq 5 10; /bin/echo ' : & ) \n*.jpg'; echo '/./sub dir'; seq 13 20) >/tmp/test17
|
||||
# (seq 1 3;echo '>fire';seq 5 10; /bin/echo ' : & ) \n*.jpg'; echo '/./sub dir'; seq 13 20) >/tmp/test17
|
||||
(echo '>fire';/bin/echo ' : & ) \n*.jpg'; echo '/./sub dir') >/tmp/test17
|
||||
echo '# Create some weirdly files in /tmp'
|
||||
mkdir -p /tmp/parallel.file
|
||||
cat /tmp/test17 | parallel -k /bin/echo file{} '>'/tmp/parallel.file{}.file
|
||||
|
|
|
@ -10,3 +10,5 @@ Block_end
|
|||
OK FUBAR /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games test
|
||||
### --env _ with explicit mentioning of normally ignored var $PATH
|
||||
OK FUBAR /home/tange/bin:/home/tange/bin:/home/tange/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/sbin:/usr/sbin:/home/tange/terminals/data-import:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin:/home/tange/bin:/sbin:/usr/sbin:/home/tange/terminals/data-import:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin:/home/tange/bin test
|
||||
### --filter-hosts --slf <()
|
||||
OK
|
||||
|
|
|
@ -265,7 +265,7 @@ o
|
|||
1 1 130001
|
||||
1 1 130001
|
||||
1 1 130001
|
||||
parallel: Command line too long (260009 >= 131071) at number 9: 10...
|
||||
parallel: Error: Command line too long (260009 >= 131071) at number 9: 10...
|
||||
### bug #37042: -J foo is taken from the whole command line - not just the part before the command
|
||||
foo tag_with_foo
|
||||
a tag_with_a
|
||||
|
|
|
@ -71,7 +71,7 @@ y
|
|||
### -i -s26 -0 echo from \{\} to x{}y < items-0.xi
|
||||
xargs: argument list too long
|
||||
from one to xoney
|
||||
parallel: Command line too long (42 >= 26) at number 2:
|
||||
parallel: Error: Command line too long (42 >= 26) at number 2:
|
||||
...
|
||||
### -l -0 echo < ldata-0.xi
|
||||
1 22 333 4444
|
||||
|
@ -808,7 +808,7 @@ with 'single quotes' as well.
|
|||
/src/gnu/autoconf-1.11/texinfo.tex
|
||||
### -s6 echo < files.xi
|
||||
xargs: argument line too long
|
||||
parallel: Command line too long (27 >= 6) at number 1: /src/gnu/autoconf-1.11...
|
||||
parallel: Error: Command line too long (27 >= 6) at number 1: /src/gnu/autoconf-1.11...
|
||||
### -iARG -s86 echo ARG is xARGx < files.xi
|
||||
/src/gnu/autoconf-1.11 is x/src/gnu/autoconf-1.11x
|
||||
/src/gnu/autoconf-1.11/README is x/src/gnu/autoconf-1.11/READMEx
|
||||
|
@ -974,7 +974,7 @@ from: can't read /var/mail/{}
|
|||
### -i -s26 echo from \{\} to x{}y < items.xi
|
||||
xargs: argument list too long
|
||||
from dumb to xdumby
|
||||
parallel: Command line too long (36 >= 26) at number 1:
...
|
||||
parallel: Error: Command line too long (36 >= 26) at number 1:
...
|
||||
### -i__ echo FIRST __ IS OK < quotes.xi
|
||||
FIRST this is IS OK
|
||||
FIRST quoted stuff IS OK
|
||||
|
|
|
@ -48,3 +48,7 @@ O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
|||
### --delay should grow by 2 sec per arg
|
||||
OK
|
||||
OK
|
||||
### Exit value should not be affected if an earlier job times out
|
||||
Exitval
|
||||
-1
|
||||
255
|
||||
|
|
|
@ -9,7 +9,6 @@ copy_to_host aix.polarhome.com
|
|||
copy_to_host redhat.polarhome.com
|
||||
copy_to_host hpux.polarhome.com
|
||||
copy_to_host qnx.polarhome.com
|
||||
copy_to_host irix.polarhome.com
|
||||
copy_to_host openindiana.polarhome.com
|
||||
copy_to_host suse.polarhome.com
|
||||
copy_to_host mandriva.polarhome.com
|
||||
|
@ -33,7 +32,6 @@ redhat.polarhome.com Works on redhat.polarhome.com
|
|||
hpux.polarhome.com Works on hpux.polarhome.com
|
||||
qnx.polarhome.com Works on qnx.polarhome.com
|
||||
qnx.polarhome.com parallel: Warning: Cannot figure out number of CPU cores. Using 1.
|
||||
irix.polarhome.com Unknown open() mode '>&=' at bin/parallel line 1346.
|
||||
openindiana.polarhome.com Works on openindiana.polarhome.com
|
||||
openindiana.polarhome.com parallel: Warning: Cannot figure out number of CPU cores. Using 1.
|
||||
suse.polarhome.com Works on suse.polarhome.com
|
||||
|
|
|
@ -99,3 +99,5 @@
|
|||
98
|
||||
99
|
||||
100
|
||||
### --filter-hosts - OK, non-such-user, connection refused, wrong host
|
||||
hk
|
||||
|
|
|
@ -83,14 +83,14 @@ a_b c
|
|||
d
|
||||
e
|
||||
### test too long args
|
||||
parallel: Command line too long (1000005 >= 131071) at number 1: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
||||
parallel: Error: Command line too long (1000005 >= 131071) at number 1: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
||||
xargs: argument line too long
|
||||
1 2
|
||||
3 4
|
||||
5 6
|
||||
7 8
|
||||
9 10
|
||||
parallel: Command line too long (1000007 >= 10) at number 5: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
||||
parallel: Error: Command line too long (1000007 >= 10) at number 5: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
||||
1 2
|
||||
3 4
|
||||
5 6
|
||||
|
@ -102,20 +102,20 @@ xargs: argument line too long
|
|||
5 6
|
||||
7 8
|
||||
9 10
|
||||
parallel: Command line too long (1000007 >= 10) at number 5: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
||||
parallel: Error: Command line too long (1000007 >= 10) at number 5: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
||||
### Test -x
|
||||
1 2
|
||||
3 4
|
||||
5 6
|
||||
7 8
|
||||
9 10
|
||||
parallel: Command line too long (10 >= 10) at number 5: 12345...
|
||||
parallel: Error: Command line too long (10 >= 10) at number 5: 12345...
|
||||
1 2
|
||||
3 4
|
||||
5 6
|
||||
7 8
|
||||
9 10
|
||||
parallel: Command line too long (10 >= 10) at number 5: 12345...
|
||||
parallel: Error: Command line too long (10 >= 10) at number 5: 12345...
|
||||
1 2
|
||||
3 4
|
||||
5 6
|
||||
|
|
|
@ -1,95 +1,27 @@
|
|||
### Test --transfer --return --cleanup
|
||||
# Create some weirdly files in /tmp
|
||||
### --transfer - abspath
|
||||
file1
|
||||
file2
|
||||
file3
|
||||
file>fire
|
||||
file5
|
||||
file6
|
||||
file7
|
||||
file8
|
||||
file9
|
||||
file10
|
||||
file : & ) \n*.jpg
|
||||
file/./sub dir
|
||||
file13
|
||||
file14
|
||||
file15
|
||||
file16
|
||||
file17
|
||||
file18
|
||||
file19
|
||||
file20
|
||||
good if no file
|
||||
ls: /tmp/parallel.file*: No such file or directory
|
||||
### --transfer - relpath
|
||||
file1
|
||||
file2
|
||||
file3
|
||||
file>fire
|
||||
file5
|
||||
file6
|
||||
file7
|
||||
file8
|
||||
file9
|
||||
file10
|
||||
file : & ) \n*.jpg
|
||||
file/./sub dir
|
||||
file13
|
||||
file14
|
||||
file15
|
||||
file16
|
||||
file17
|
||||
file18
|
||||
file19
|
||||
file20
|
||||
good if no file
|
||||
ls: tmp/parallel.file*: No such file or directory
|
||||
### --transfer --cleanup - abspath
|
||||
file1
|
||||
file2
|
||||
file3
|
||||
file>fire
|
||||
file5
|
||||
file6
|
||||
file7
|
||||
file8
|
||||
file9
|
||||
file10
|
||||
file : & ) \n*.jpg
|
||||
file/./sub dir
|
||||
file13
|
||||
file14
|
||||
file15
|
||||
file16
|
||||
file17
|
||||
file18
|
||||
file19
|
||||
file20
|
||||
good if no file
|
||||
ls: /tmp/parallel.file*: No such file or directory
|
||||
### --transfer --cleanup - relpath
|
||||
file1
|
||||
file2
|
||||
file3
|
||||
file>fire
|
||||
file5
|
||||
file6
|
||||
file7
|
||||
file8
|
||||
file9
|
||||
file10
|
||||
file : & ) \n*.jpg
|
||||
file/./sub dir
|
||||
file13
|
||||
file14
|
||||
file15
|
||||
file16
|
||||
file17
|
||||
file18
|
||||
file19
|
||||
file20
|
||||
good if no file
|
||||
ls: tmp/parallel.file*: No such file or directory
|
||||
OK
|
||||
|
@ -98,84 +30,16 @@ OK
|
|||
### --return - abspath
|
||||
/tmp/parallel.file : & ) \n*.jpg.out
|
||||
/tmp/parallel.file/sub dir.out
|
||||
/tmp/parallel.file1.out
|
||||
/tmp/parallel.file10.out
|
||||
/tmp/parallel.file13.out
|
||||
/tmp/parallel.file14.out
|
||||
/tmp/parallel.file15.out
|
||||
/tmp/parallel.file16.out
|
||||
/tmp/parallel.file17.out
|
||||
/tmp/parallel.file18.out
|
||||
/tmp/parallel.file19.out
|
||||
/tmp/parallel.file2.out
|
||||
/tmp/parallel.file20.out
|
||||
/tmp/parallel.file3.out
|
||||
/tmp/parallel.file5.out
|
||||
/tmp/parallel.file6.out
|
||||
/tmp/parallel.file7.out
|
||||
/tmp/parallel.file8.out
|
||||
/tmp/parallel.file9.out
|
||||
/tmp/parallel.file>fire.out
|
||||
### --return - relpath
|
||||
tmp/parallel.file : & ) \n*.jpg.out
|
||||
tmp/parallel.file/sub dir.out
|
||||
tmp/parallel.file1.out
|
||||
tmp/parallel.file10.out
|
||||
tmp/parallel.file13.out
|
||||
tmp/parallel.file14.out
|
||||
tmp/parallel.file15.out
|
||||
tmp/parallel.file16.out
|
||||
tmp/parallel.file17.out
|
||||
tmp/parallel.file18.out
|
||||
tmp/parallel.file19.out
|
||||
tmp/parallel.file2.out
|
||||
tmp/parallel.file20.out
|
||||
tmp/parallel.file3.out
|
||||
tmp/parallel.file5.out
|
||||
tmp/parallel.file6.out
|
||||
tmp/parallel.file7.out
|
||||
tmp/parallel.file8.out
|
||||
tmp/parallel.file9.out
|
||||
tmp/parallel.file>fire.out
|
||||
### --return - multiple files
|
||||
tmp/parallel.file : & ) \n*.jpg.file.done
|
||||
tmp/parallel.file : & ) \n*.jpg.out
|
||||
tmp/parallel.file/sub dir.file.done
|
||||
tmp/parallel.file/sub dir.out
|
||||
tmp/parallel.file1.file.done
|
||||
tmp/parallel.file1.out
|
||||
tmp/parallel.file10.file.done
|
||||
tmp/parallel.file10.out
|
||||
tmp/parallel.file13.file.done
|
||||
tmp/parallel.file13.out
|
||||
tmp/parallel.file14.file.done
|
||||
tmp/parallel.file14.out
|
||||
tmp/parallel.file15.file.done
|
||||
tmp/parallel.file15.out
|
||||
tmp/parallel.file16.file.done
|
||||
tmp/parallel.file16.out
|
||||
tmp/parallel.file17.file.done
|
||||
tmp/parallel.file17.out
|
||||
tmp/parallel.file18.file.done
|
||||
tmp/parallel.file18.out
|
||||
tmp/parallel.file19.file.done
|
||||
tmp/parallel.file19.out
|
||||
tmp/parallel.file2.file.done
|
||||
tmp/parallel.file2.out
|
||||
tmp/parallel.file20.file.done
|
||||
tmp/parallel.file20.out
|
||||
tmp/parallel.file3.file.done
|
||||
tmp/parallel.file3.out
|
||||
tmp/parallel.file5.file.done
|
||||
tmp/parallel.file5.out
|
||||
tmp/parallel.file6.file.done
|
||||
tmp/parallel.file6.out
|
||||
tmp/parallel.file7.file.done
|
||||
tmp/parallel.file7.out
|
||||
tmp/parallel.file8.file.done
|
||||
tmp/parallel.file8.out
|
||||
tmp/parallel.file9.file.done
|
||||
tmp/parallel.file9.out
|
||||
tmp/parallel.file>fire.file.done
|
||||
tmp/parallel.file>fire.out
|
||||
### --return --cleanup - abspath
|
||||
|
@ -183,40 +47,6 @@ tmp/parallel.file>fire.out
|
|||
/tmp/parallel.file : & ) \n*.jpg.out
|
||||
/tmp/parallel.file/sub dir.file.done
|
||||
/tmp/parallel.file/sub dir.out
|
||||
/tmp/parallel.file1.file.done
|
||||
/tmp/parallel.file1.out
|
||||
/tmp/parallel.file10.file.done
|
||||
/tmp/parallel.file10.out
|
||||
/tmp/parallel.file13.file.done
|
||||
/tmp/parallel.file13.out
|
||||
/tmp/parallel.file14.file.done
|
||||
/tmp/parallel.file14.out
|
||||
/tmp/parallel.file15.file.done
|
||||
/tmp/parallel.file15.out
|
||||
/tmp/parallel.file16.file.done
|
||||
/tmp/parallel.file16.out
|
||||
/tmp/parallel.file17.file.done
|
||||
/tmp/parallel.file17.out
|
||||
/tmp/parallel.file18.file.done
|
||||
/tmp/parallel.file18.out
|
||||
/tmp/parallel.file19.file.done
|
||||
/tmp/parallel.file19.out
|
||||
/tmp/parallel.file2.file.done
|
||||
/tmp/parallel.file2.out
|
||||
/tmp/parallel.file20.file.done
|
||||
/tmp/parallel.file20.out
|
||||
/tmp/parallel.file3.file.done
|
||||
/tmp/parallel.file3.out
|
||||
/tmp/parallel.file5.file.done
|
||||
/tmp/parallel.file5.out
|
||||
/tmp/parallel.file6.file.done
|
||||
/tmp/parallel.file6.out
|
||||
/tmp/parallel.file7.file.done
|
||||
/tmp/parallel.file7.out
|
||||
/tmp/parallel.file8.file.done
|
||||
/tmp/parallel.file8.out
|
||||
/tmp/parallel.file9.file.done
|
||||
/tmp/parallel.file9.out
|
||||
/tmp/parallel.file>fire.file.done
|
||||
/tmp/parallel.file>fire.out
|
||||
good if no file
|
||||
|
@ -225,40 +55,6 @@ tmp/parallel.file : & ) \n*.jpg.file.done
|
|||
tmp/parallel.file : & ) \n*.jpg.out
|
||||
tmp/parallel.file/sub dir.file.done
|
||||
tmp/parallel.file/sub dir.out
|
||||
tmp/parallel.file1.file.done
|
||||
tmp/parallel.file1.out
|
||||
tmp/parallel.file10.file.done
|
||||
tmp/parallel.file10.out
|
||||
tmp/parallel.file13.file.done
|
||||
tmp/parallel.file13.out
|
||||
tmp/parallel.file14.file.done
|
||||
tmp/parallel.file14.out
|
||||
tmp/parallel.file15.file.done
|
||||
tmp/parallel.file15.out
|
||||
tmp/parallel.file16.file.done
|
||||
tmp/parallel.file16.out
|
||||
tmp/parallel.file17.file.done
|
||||
tmp/parallel.file17.out
|
||||
tmp/parallel.file18.file.done
|
||||
tmp/parallel.file18.out
|
||||
tmp/parallel.file19.file.done
|
||||
tmp/parallel.file19.out
|
||||
tmp/parallel.file2.file.done
|
||||
tmp/parallel.file2.out
|
||||
tmp/parallel.file20.file.done
|
||||
tmp/parallel.file20.out
|
||||
tmp/parallel.file3.file.done
|
||||
tmp/parallel.file3.out
|
||||
tmp/parallel.file5.file.done
|
||||
tmp/parallel.file5.out
|
||||
tmp/parallel.file6.file.done
|
||||
tmp/parallel.file6.out
|
||||
tmp/parallel.file7.file.done
|
||||
tmp/parallel.file7.out
|
||||
tmp/parallel.file8.file.done
|
||||
tmp/parallel.file8.out
|
||||
tmp/parallel.file9.file.done
|
||||
tmp/parallel.file9.out
|
||||
tmp/parallel.file>fire.file.done
|
||||
tmp/parallel.file>fire.out
|
||||
good if no file
|
||||
|
@ -269,40 +65,6 @@ OK
|
|||
/tmp/parallel.file : & ) \n*.jpg.out
|
||||
/tmp/parallel.file/sub dir.file.done
|
||||
/tmp/parallel.file/sub dir.out
|
||||
/tmp/parallel.file1.file.done
|
||||
/tmp/parallel.file1.out
|
||||
/tmp/parallel.file10.file.done
|
||||
/tmp/parallel.file10.out
|
||||
/tmp/parallel.file13.file.done
|
||||
/tmp/parallel.file13.out
|
||||
/tmp/parallel.file14.file.done
|
||||
/tmp/parallel.file14.out
|
||||
/tmp/parallel.file15.file.done
|
||||
/tmp/parallel.file15.out
|
||||
/tmp/parallel.file16.file.done
|
||||
/tmp/parallel.file16.out
|
||||
/tmp/parallel.file17.file.done
|
||||
/tmp/parallel.file17.out
|
||||
/tmp/parallel.file18.file.done
|
||||
/tmp/parallel.file18.out
|
||||
/tmp/parallel.file19.file.done
|
||||
/tmp/parallel.file19.out
|
||||
/tmp/parallel.file2.file.done
|
||||
/tmp/parallel.file2.out
|
||||
/tmp/parallel.file20.file.done
|
||||
/tmp/parallel.file20.out
|
||||
/tmp/parallel.file3.file.done
|
||||
/tmp/parallel.file3.out
|
||||
/tmp/parallel.file5.file.done
|
||||
/tmp/parallel.file5.out
|
||||
/tmp/parallel.file6.file.done
|
||||
/tmp/parallel.file6.out
|
||||
/tmp/parallel.file7.file.done
|
||||
/tmp/parallel.file7.out
|
||||
/tmp/parallel.file8.file.done
|
||||
/tmp/parallel.file8.out
|
||||
/tmp/parallel.file9.file.done
|
||||
/tmp/parallel.file9.out
|
||||
/tmp/parallel.file>fire.file.done
|
||||
/tmp/parallel.file>fire.out
|
||||
good if no file
|
||||
|
@ -313,40 +75,6 @@ OK
|
|||
/tmp/parallel.file : & ) \n*.jpg.out
|
||||
/tmp/parallel.file/sub dir.file.done
|
||||
/tmp/parallel.file/sub dir.out
|
||||
/tmp/parallel.file1.file.done
|
||||
/tmp/parallel.file1.out
|
||||
/tmp/parallel.file10.file.done
|
||||
/tmp/parallel.file10.out
|
||||
/tmp/parallel.file13.file.done
|
||||
/tmp/parallel.file13.out
|
||||
/tmp/parallel.file14.file.done
|
||||
/tmp/parallel.file14.out
|
||||
/tmp/parallel.file15.file.done
|
||||
/tmp/parallel.file15.out
|
||||
/tmp/parallel.file16.file.done
|
||||
/tmp/parallel.file16.out
|
||||
/tmp/parallel.file17.file.done
|
||||
/tmp/parallel.file17.out
|
||||
/tmp/parallel.file18.file.done
|
||||
/tmp/parallel.file18.out
|
||||
/tmp/parallel.file19.file.done
|
||||
/tmp/parallel.file19.out
|
||||
/tmp/parallel.file2.file.done
|
||||
/tmp/parallel.file2.out
|
||||
/tmp/parallel.file20.file.done
|
||||
/tmp/parallel.file20.out
|
||||
/tmp/parallel.file3.file.done
|
||||
/tmp/parallel.file3.out
|
||||
/tmp/parallel.file5.file.done
|
||||
/tmp/parallel.file5.out
|
||||
/tmp/parallel.file6.file.done
|
||||
/tmp/parallel.file6.out
|
||||
/tmp/parallel.file7.file.done
|
||||
/tmp/parallel.file7.out
|
||||
/tmp/parallel.file8.file.done
|
||||
/tmp/parallel.file8.out
|
||||
/tmp/parallel.file9.file.done
|
||||
/tmp/parallel.file9.out
|
||||
/tmp/parallel.file>fire.file.done
|
||||
/tmp/parallel.file>fire.out
|
||||
good if no file
|
||||
|
@ -357,40 +85,6 @@ OK
|
|||
/tmp/parallel.file : & ) \n*.jpg.out
|
||||
/tmp/parallel.file/sub dir.file.done
|
||||
/tmp/parallel.file/sub dir.out
|
||||
/tmp/parallel.file1.file.done
|
||||
/tmp/parallel.file1.out
|
||||
/tmp/parallel.file10.file.done
|
||||
/tmp/parallel.file10.out
|
||||
/tmp/parallel.file13.file.done
|
||||
/tmp/parallel.file13.out
|
||||
/tmp/parallel.file14.file.done
|
||||
/tmp/parallel.file14.out
|
||||
/tmp/parallel.file15.file.done
|
||||
/tmp/parallel.file15.out
|
||||
/tmp/parallel.file16.file.done
|
||||
/tmp/parallel.file16.out
|
||||
/tmp/parallel.file17.file.done
|
||||
/tmp/parallel.file17.out
|
||||
/tmp/parallel.file18.file.done
|
||||
/tmp/parallel.file18.out
|
||||
/tmp/parallel.file19.file.done
|
||||
/tmp/parallel.file19.out
|
||||
/tmp/parallel.file2.file.done
|
||||
/tmp/parallel.file2.out
|
||||
/tmp/parallel.file20.file.done
|
||||
/tmp/parallel.file20.out
|
||||
/tmp/parallel.file3.file.done
|
||||
/tmp/parallel.file3.out
|
||||
/tmp/parallel.file5.file.done
|
||||
/tmp/parallel.file5.out
|
||||
/tmp/parallel.file6.file.done
|
||||
/tmp/parallel.file6.out
|
||||
/tmp/parallel.file7.file.done
|
||||
/tmp/parallel.file7.out
|
||||
/tmp/parallel.file8.file.done
|
||||
/tmp/parallel.file8.out
|
||||
/tmp/parallel.file9.file.done
|
||||
/tmp/parallel.file9.out
|
||||
/tmp/parallel.file>fire.file.done
|
||||
/tmp/parallel.file>fire.out
|
||||
good if no file
|
||||
|
@ -403,40 +97,6 @@ OK
|
|||
/tmp/parallel.file : & ) \n*.jpg.out
|
||||
/tmp/parallel.file/sub dir.file.done
|
||||
/tmp/parallel.file/sub dir.out
|
||||
/tmp/parallel.file1.file.done
|
||||
/tmp/parallel.file1.out
|
||||
/tmp/parallel.file10.file.done
|
||||
/tmp/parallel.file10.out
|
||||
/tmp/parallel.file13.file.done
|
||||
/tmp/parallel.file13.out
|
||||
/tmp/parallel.file14.file.done
|
||||
/tmp/parallel.file14.out
|
||||
/tmp/parallel.file15.file.done
|
||||
/tmp/parallel.file15.out
|
||||
/tmp/parallel.file16.file.done
|
||||
/tmp/parallel.file16.out
|
||||
/tmp/parallel.file17.file.done
|
||||
/tmp/parallel.file17.out
|
||||
/tmp/parallel.file18.file.done
|
||||
/tmp/parallel.file18.out
|
||||
/tmp/parallel.file19.file.done
|
||||
/tmp/parallel.file19.out
|
||||
/tmp/parallel.file2.file.done
|
||||
/tmp/parallel.file2.out
|
||||
/tmp/parallel.file20.file.done
|
||||
/tmp/parallel.file20.out
|
||||
/tmp/parallel.file3.file.done
|
||||
/tmp/parallel.file3.out
|
||||
/tmp/parallel.file5.file.done
|
||||
/tmp/parallel.file5.out
|
||||
/tmp/parallel.file6.file.done
|
||||
/tmp/parallel.file6.out
|
||||
/tmp/parallel.file7.file.done
|
||||
/tmp/parallel.file7.out
|
||||
/tmp/parallel.file8.file.done
|
||||
/tmp/parallel.file8.out
|
||||
/tmp/parallel.file9.file.done
|
||||
/tmp/parallel.file9.out
|
||||
/tmp/parallel.file>fire.file.done
|
||||
/tmp/parallel.file>fire.out
|
||||
ls: tmp/parallel.file*: No such file or directory
|
||||
|
@ -448,40 +108,6 @@ OK
|
|||
/tmp/parallel.file : & ) \n*.jpg.out
|
||||
/tmp/parallel.file/sub dir.file.done
|
||||
/tmp/parallel.file/sub dir.out
|
||||
/tmp/parallel.file1.file.done
|
||||
/tmp/parallel.file1.out
|
||||
/tmp/parallel.file10.file.done
|
||||
/tmp/parallel.file10.out
|
||||
/tmp/parallel.file13.file.done
|
||||
/tmp/parallel.file13.out
|
||||
/tmp/parallel.file14.file.done
|
||||
/tmp/parallel.file14.out
|
||||
/tmp/parallel.file15.file.done
|
||||
/tmp/parallel.file15.out
|
||||
/tmp/parallel.file16.file.done
|
||||
/tmp/parallel.file16.out
|
||||
/tmp/parallel.file17.file.done
|
||||
/tmp/parallel.file17.out
|
||||
/tmp/parallel.file18.file.done
|
||||
/tmp/parallel.file18.out
|
||||
/tmp/parallel.file19.file.done
|
||||
/tmp/parallel.file19.out
|
||||
/tmp/parallel.file2.file.done
|
||||
/tmp/parallel.file2.out
|
||||
/tmp/parallel.file20.file.done
|
||||
/tmp/parallel.file20.out
|
||||
/tmp/parallel.file3.file.done
|
||||
/tmp/parallel.file3.out
|
||||
/tmp/parallel.file5.file.done
|
||||
/tmp/parallel.file5.out
|
||||
/tmp/parallel.file6.file.done
|
||||
/tmp/parallel.file6.out
|
||||
/tmp/parallel.file7.file.done
|
||||
/tmp/parallel.file7.out
|
||||
/tmp/parallel.file8.file.done
|
||||
/tmp/parallel.file8.out
|
||||
/tmp/parallel.file9.file.done
|
||||
/tmp/parallel.file9.out
|
||||
/tmp/parallel.file>fire.file.done
|
||||
/tmp/parallel.file>fire.out
|
||||
good if no file
|
||||
|
@ -492,40 +118,6 @@ tmp/parallel.file : & ) \n*.jpg.file.done
|
|||
tmp/parallel.file : & ) \n*.jpg.out
|
||||
tmp/parallel.file/sub dir.file.done
|
||||
tmp/parallel.file/sub dir.out
|
||||
tmp/parallel.file1.file.done
|
||||
tmp/parallel.file1.out
|
||||
tmp/parallel.file10.file.done
|
||||
tmp/parallel.file10.out
|
||||
tmp/parallel.file13.file.done
|
||||
tmp/parallel.file13.out
|
||||
tmp/parallel.file14.file.done
|
||||
tmp/parallel.file14.out
|
||||
tmp/parallel.file15.file.done
|
||||
tmp/parallel.file15.out
|
||||
tmp/parallel.file16.file.done
|
||||
tmp/parallel.file16.out
|
||||
tmp/parallel.file17.file.done
|
||||
tmp/parallel.file17.out
|
||||
tmp/parallel.file18.file.done
|
||||
tmp/parallel.file18.out
|
||||
tmp/parallel.file19.file.done
|
||||
tmp/parallel.file19.out
|
||||
tmp/parallel.file2.file.done
|
||||
tmp/parallel.file2.out
|
||||
tmp/parallel.file20.file.done
|
||||
tmp/parallel.file20.out
|
||||
tmp/parallel.file3.file.done
|
||||
tmp/parallel.file3.out
|
||||
tmp/parallel.file5.file.done
|
||||
tmp/parallel.file5.out
|
||||
tmp/parallel.file6.file.done
|
||||
tmp/parallel.file6.out
|
||||
tmp/parallel.file7.file.done
|
||||
tmp/parallel.file7.out
|
||||
tmp/parallel.file8.file.done
|
||||
tmp/parallel.file8.out
|
||||
tmp/parallel.file9.file.done
|
||||
tmp/parallel.file9.out
|
||||
tmp/parallel.file>fire.file.done
|
||||
tmp/parallel.file>fire.out
|
||||
good if no file
|
||||
|
@ -538,103 +130,18 @@ OK
|
|||
/tmp/parallel.file : & ) \n*.jpg.out
|
||||
/tmp/parallel.file/sub dir.file.done
|
||||
/tmp/parallel.file/sub dir.out
|
||||
/tmp/parallel.file1.file.done
|
||||
/tmp/parallel.file1.out
|
||||
/tmp/parallel.file10.file.done
|
||||
/tmp/parallel.file10.out
|
||||
/tmp/parallel.file13.file.done
|
||||
/tmp/parallel.file13.out
|
||||
/tmp/parallel.file14.file.done
|
||||
/tmp/parallel.file14.out
|
||||
/tmp/parallel.file15.file.done
|
||||
/tmp/parallel.file15.out
|
||||
/tmp/parallel.file16.file.done
|
||||
/tmp/parallel.file16.out
|
||||
/tmp/parallel.file17.file.done
|
||||
/tmp/parallel.file17.out
|
||||
/tmp/parallel.file18.file.done
|
||||
/tmp/parallel.file18.out
|
||||
/tmp/parallel.file19.file.done
|
||||
/tmp/parallel.file19.out
|
||||
/tmp/parallel.file2.file.done
|
||||
/tmp/parallel.file2.out
|
||||
/tmp/parallel.file20.file.done
|
||||
/tmp/parallel.file20.out
|
||||
/tmp/parallel.file3.file.done
|
||||
/tmp/parallel.file3.out
|
||||
/tmp/parallel.file5.file.done
|
||||
/tmp/parallel.file5.out
|
||||
/tmp/parallel.file6.file.done
|
||||
/tmp/parallel.file6.out
|
||||
/tmp/parallel.file7.file.done
|
||||
/tmp/parallel.file7.out
|
||||
/tmp/parallel.file8.file.done
|
||||
/tmp/parallel.file8.out
|
||||
/tmp/parallel.file9.file.done
|
||||
/tmp/parallel.file9.out
|
||||
/tmp/parallel.file>fire.file.done
|
||||
/tmp/parallel.file>fire.out
|
||||
good if no file
|
||||
ls: /tmp/parallel.file*: No such file or directory
|
||||
OK
|
||||
### --transfer --cleanup - multiple argument files
|
||||
cat /tmp/parallel.file\>fire.file tmp/parallel.file1.file
|
||||
cat /tmp/parallel.file\>fire.file tmp/parallel.file\>fire.file
|
||||
file>fire
|
||||
file1
|
||||
cat /tmp/parallel.file9.file tmp/parallel.file2.file
|
||||
file9
|
||||
file2
|
||||
cat /tmp/parallel.file8.file tmp/parallel.file3.file
|
||||
file8
|
||||
file3
|
||||
cat /tmp/parallel.file7.file tmp/parallel.file\>fire.file
|
||||
file7
|
||||
file>fire
|
||||
cat /tmp/parallel.file6.file tmp/parallel.file5.file
|
||||
file6
|
||||
file5
|
||||
cat /tmp/parallel.file5.file tmp/parallel.file6.file
|
||||
file5
|
||||
file6
|
||||
cat /tmp/parallel.file3.file tmp/parallel.file7.file
|
||||
file3
|
||||
file7
|
||||
cat /tmp/parallel.file20.file tmp/parallel.file8.file
|
||||
file20
|
||||
file8
|
||||
cat /tmp/parallel.file2.file tmp/parallel.file9.file
|
||||
file2
|
||||
file9
|
||||
cat /tmp/parallel.file19.file tmp/parallel.file10.file
|
||||
file19
|
||||
file10
|
||||
cat /tmp/parallel.file18.file tmp/parallel.file\ :\ \&\ \)\ \\n\*.jpg.file
|
||||
file18
|
||||
file : & ) \n*.jpg
|
||||
cat /tmp/parallel.file17.file tmp/parallel.file/./sub\ dir.file
|
||||
file17
|
||||
cat /tmp/parallel.file/./sub\ dir.file tmp/parallel.file\ :\ \&\ \)\ \\n\*.jpg.file
|
||||
file/./sub dir
|
||||
cat /tmp/parallel.file16.file tmp/parallel.file13.file
|
||||
file16
|
||||
file13
|
||||
cat /tmp/parallel.file15.file tmp/parallel.file14.file
|
||||
file15
|
||||
file14
|
||||
cat /tmp/parallel.file14.file tmp/parallel.file15.file
|
||||
file14
|
||||
file15
|
||||
cat /tmp/parallel.file13.file tmp/parallel.file16.file
|
||||
file13
|
||||
file16
|
||||
cat /tmp/parallel.file10.file tmp/parallel.file17.file
|
||||
file10
|
||||
file17
|
||||
cat /tmp/parallel.file1.file tmp/parallel.file18.file
|
||||
file1
|
||||
file18
|
||||
cat /tmp/parallel.file/./sub\ dir.file tmp/parallel.file19.file
|
||||
file/./sub dir
|
||||
file19
|
||||
cat /tmp/parallel.file\ :\ \&\ \)\ \\n\*.jpg.file tmp/parallel.file20.file
|
||||
file : & ) \n*.jpg
|
||||
file20
|
||||
cat /tmp/parallel.file\ :\ \&\ \)\ \\n\*.jpg.file tmp/parallel.file/./sub\ dir.file
|
||||
file : & ) \n*.jpg
|
||||
file/./sub dir
|
||||
|
|
Loading…
Reference in a new issue