mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-29 09:27:56 +00:00
parallel: --return /./ fixed.
This commit is contained in:
parent
627d2808d0
commit
546f5aea03
31
src/parallel
31
src/parallel
|
@ -2353,8 +2353,10 @@ sub save_original_signal_handler {
|
||||||
# Remember the original signal handler
|
# Remember the original signal handler
|
||||||
# Returns: N/A
|
# Returns: N/A
|
||||||
$SIG{TERM} ||= sub { exit 0; }; # $SIG{TERM} is not set on Mac OS X
|
$SIG{TERM} ||= sub { exit 0; }; # $SIG{TERM} is not set on Mac OS X
|
||||||
$SIG{INT} = sub { if($opt::tmux) { qx { tmux kill-session -t p$$ }; } exit -1 };
|
$SIG{INT} = sub { if($opt::tmux) { qx { tmux kill-session -t p$$ }; }
|
||||||
$SIG{TERM} = sub { if($opt::tmux) { qx { tmux kill-session -t p$$ }; } exit -1 };
|
unlink keys %Global::unlink; exit -1 };
|
||||||
|
$SIG{TERM} = sub { if($opt::tmux) { qx { tmux kill-session -t p$$ }; }
|
||||||
|
unlink keys %Global::unlink; exit -1 };
|
||||||
%Global::original_sig = %SIG;
|
%Global::original_sig = %SIG;
|
||||||
$SIG{TERM} = sub {}; # Dummy until jobs really start
|
$SIG{TERM} = sub {}; # Dummy until jobs really start
|
||||||
}
|
}
|
||||||
|
@ -3070,6 +3072,9 @@ sub swap_activity {
|
||||||
return $self->{'swap_activity'};
|
return $self->{'swap_activity'};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
my $script;
|
||||||
|
|
||||||
sub swapactivityscript {
|
sub swapactivityscript {
|
||||||
# Returns:
|
# Returns:
|
||||||
# shellscript for detecting swap activity
|
# shellscript for detecting swap activity
|
||||||
|
@ -3077,6 +3082,7 @@ sub swapactivityscript {
|
||||||
# arguments for vmstat are OS dependant
|
# arguments for vmstat are OS dependant
|
||||||
# swap_in and swap_out are in different columns depending on OS
|
# swap_in and swap_out are in different columns depending on OS
|
||||||
#
|
#
|
||||||
|
if(not $script) {
|
||||||
my %vmstat = (
|
my %vmstat = (
|
||||||
# linux: $7*$8
|
# linux: $7*$8
|
||||||
# $ vmstat 1 2
|
# $ vmstat 1 2
|
||||||
|
@ -3191,7 +3197,10 @@ sub swapactivityscript {
|
||||||
$vmstat{$os}[1] . '}"` }';
|
$vmstat{$os}[1] . '}"` }';
|
||||||
}
|
}
|
||||||
$perlscript = "perl -e " . ::shell_quote_scalar($perlscript);
|
$perlscript = "perl -e " . ::shell_quote_scalar($perlscript);
|
||||||
return $Global::envvar. " " .$perlscript;
|
$script = $Global::envvar. " " .$perlscript;
|
||||||
|
}
|
||||||
|
return $script;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub too_fast_remote_login {
|
sub too_fast_remote_login {
|
||||||
|
@ -4804,14 +4813,16 @@ sub kill {
|
||||||
@pidtable = `$pid_parentpid_cmd{$^O}`;
|
@pidtable = `$pid_parentpid_cmd{$^O}`;
|
||||||
for (@pidtable) {
|
for (@pidtable) {
|
||||||
/(\S+)\s+(\S+)/ or ::die_bug("pidtable format");
|
/(\S+)\s+(\S+)/ or ::die_bug("pidtable format");
|
||||||
push(@{$children_of{$2}},$1);
|
push @{$children_of{$2}}, $1;
|
||||||
}
|
}
|
||||||
my @more = ($pid);
|
my @more = ($pid);
|
||||||
|
# While more (grand)*children
|
||||||
while(@more) {
|
while(@more) {
|
||||||
my @m;
|
my @m;
|
||||||
push @pids, @more;
|
push @pids, @more;
|
||||||
for my $parent (@more) {
|
for my $parent (@more) {
|
||||||
if($children_of{$parent}) {
|
if($children_of{$parent}) {
|
||||||
|
# add the children of this parent
|
||||||
push @m, @{$children_of{$parent}};
|
push @m, @{$children_of{$parent}};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5057,7 +5068,6 @@ sub sshreturn {
|
||||||
my $rsync_opt = "-rlDzR -e".::shell_quote_scalar($sshcmd);
|
my $rsync_opt = "-rlDzR -e".::shell_quote_scalar($sshcmd);
|
||||||
my $pre = "";
|
my $pre = "";
|
||||||
for my $file ($self->return()) {
|
for my $file ($self->return()) {
|
||||||
$file =~ s:/\./:/:g; # Rsync treats /./ special. We dont want that
|
|
||||||
$file =~ s:^\./::g; # Remove ./ if any
|
$file =~ s:^\./::g; # Remove ./ if any
|
||||||
my $relpath = ($file !~ m:^/:); # Is the path relative?
|
my $relpath = ($file !~ m:^/:); # Is the path relative?
|
||||||
my $cd = "";
|
my $cd = "";
|
||||||
|
@ -5070,15 +5080,20 @@ sub sshreturn {
|
||||||
}
|
}
|
||||||
# Only load File::Basename if actually needed
|
# Only load File::Basename if actually needed
|
||||||
$Global::use{"File::Basename"} ||= eval "use File::Basename; 1;";
|
$Global::use{"File::Basename"} ||= eval "use File::Basename; 1;";
|
||||||
$cd = ::shell_quote_file(::dirname($file));
|
# dir/./file means relative to dir, so remove dir on remote
|
||||||
|
$file =~ m:(.*)/\./:;
|
||||||
|
my $basedir = $1 ? ::shell_quote_file($1."/") : "";
|
||||||
|
my $nobasedir = $file;
|
||||||
|
$nobasedir =~ s:.*/\./::;
|
||||||
|
$cd = ::shell_quote_file(::dirname($nobasedir));
|
||||||
my $rsync_cd = '--rsync-path='.::shell_quote_scalar("cd $wd$cd; rsync");
|
my $rsync_cd = '--rsync-path='.::shell_quote_scalar("cd $wd$cd; rsync");
|
||||||
my $basename = ::shell_quote_scalar(::shell_quote_file(basename($file)));
|
my $basename = ::shell_quote_scalar(::shell_quote_file(basename($file)));
|
||||||
# --return
|
# --return
|
||||||
# mkdir -p /home/tange/dir/subdir/;
|
# mkdir -p /home/tange/dir/subdir/;
|
||||||
# rsync -rlDzR --rsync-path="cd /home/tange/dir/subdir/; rsync"
|
# rsync -rlDzR --rsync-path="cd /home/tange/dir/subdir/; rsync"
|
||||||
# server:file.gz /home/tange/dir/subdir/
|
# server:file.gz /home/tange/dir/subdir/
|
||||||
$pre .= "mkdir -p $cd; rsync $rsync_cd $rsync_opt $serverlogin:".
|
$pre .= "mkdir -p $basedir$cd; rsync $rsync_cd $rsync_opt $serverlogin:".
|
||||||
$basename . " ".$cd.";";
|
$basename . " ".$basedir.$cd.";";
|
||||||
}
|
}
|
||||||
return $pre;
|
return $pre;
|
||||||
}
|
}
|
||||||
|
|
|
@ -768,9 +768,9 @@ status will be the exit status from the failing job.
|
||||||
@item 1-99%
|
@item 1-99%
|
||||||
@anchor{1-99%}
|
@anchor{1-99%}
|
||||||
|
|
||||||
If @emph{val}% of the jobs fail: Do not start new jobs, but complete the
|
If @emph{val}% of the jobs fail and minimum 3: Do not start new jobs, but
|
||||||
running jobs including cleanup. The exit status will be the exit
|
complete the running jobs including cleanup. The exit status will be
|
||||||
status from the last failing job.
|
the exit status from the last failing job.
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
|
@ -975,11 +975,11 @@ processes on the computer is less than @emph{max-load}. @emph{max-load} uses
|
||||||
the same syntax as @strong{--jobs}, so @emph{100%} for one per CPU is a valid
|
the same syntax as @strong{--jobs}, so @emph{100%} for one per CPU is a valid
|
||||||
setting. Only difference is 0 which is interpreted as 0.01.
|
setting. Only difference is 0 which is interpreted as 0.01.
|
||||||
|
|
||||||
@item @strong{--controlmaster} (experimental)
|
@item @strong{--controlmaster}
|
||||||
@anchor{@strong{--controlmaster} (experimental)}
|
@anchor{@strong{--controlmaster}}
|
||||||
|
|
||||||
@item @strong{-M} (experimental)
|
@item @strong{-M}
|
||||||
@anchor{@strong{-M} (experimental)}
|
@anchor{@strong{-M}}
|
||||||
|
|
||||||
Use ssh's ControlMaster to make ssh connections faster. Useful if jobs
|
Use ssh's ControlMaster to make ssh connections faster. Useful if jobs
|
||||||
run remote and are very fast to run. This is disabled for sshlogins
|
run remote and are very fast to run. This is disabled for sshlogins
|
||||||
|
|
|
@ -124,7 +124,7 @@
|
||||||
.\" ========================================================================
|
.\" ========================================================================
|
||||||
.\"
|
.\"
|
||||||
.IX Title "PARALLEL_TUTORIAL 1"
|
.IX Title "PARALLEL_TUTORIAL 1"
|
||||||
.TH PARALLEL_TUTORIAL 1 "2014-07-18" "20140711" "parallel"
|
.TH PARALLEL_TUTORIAL 1 "2014-07-20" "20140711" "parallel"
|
||||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||||
.\" way too many mistakes in technical documents.
|
.\" way too many mistakes in technical documents.
|
||||||
.if n .ad l
|
.if n .ad l
|
||||||
|
@ -1631,6 +1631,29 @@ Output:
|
||||||
\& echo 1; exit 1
|
\& echo 1; exit 1
|
||||||
.Ve
|
.Ve
|
||||||
.PP
|
.PP
|
||||||
|
If \-\-halt is given a percentage this percentage of the jobs must fail
|
||||||
|
(though minimum 3) before \s-1GNU\s0 Parallel stops spawning more jobs:
|
||||||
|
.PP
|
||||||
|
.Vb 1
|
||||||
|
\& parallel \-j2 \-\-halt 20% echo {}\e; exit {} ::: 0 0 1 2 3 4 5 6 7
|
||||||
|
.Ve
|
||||||
|
.PP
|
||||||
|
Output:
|
||||||
|
.PP
|
||||||
|
.Vb 11
|
||||||
|
\& 0
|
||||||
|
\& 0
|
||||||
|
\& 1
|
||||||
|
\& 2
|
||||||
|
\& 3
|
||||||
|
\& 4
|
||||||
|
\& parallel: Starting no more jobs. Waiting for 2 jobs to finish. This job failed:
|
||||||
|
\& echo 4; exit 4
|
||||||
|
\& 5
|
||||||
|
\& parallel: Starting no more jobs. Waiting for 1 jobs to finish. This job failed:
|
||||||
|
\& echo 5; exit 5
|
||||||
|
.Ve
|
||||||
|
.PP
|
||||||
\&\s-1GNU\s0 Parallel can retry the command with \-\-retries. This is useful if a
|
\&\s-1GNU\s0 Parallel can retry the command with \-\-retries. This is useful if a
|
||||||
command fails for unkown reasons now and then.
|
command fails for unkown reasons now and then.
|
||||||
.PP
|
.PP
|
||||||
|
|
|
@ -1116,6 +1116,23 @@ with --halt 1:</p>
|
||||||
1
|
1
|
||||||
parallel: This job failed:
|
parallel: This job failed:
|
||||||
echo 1; exit 1</pre>
|
echo 1; exit 1</pre>
|
||||||
|
<p>If --halt is given a percentage this percentage of the jobs must fail
|
||||||
|
(though minimum 3) before GNU Parallel stops spawning more jobs:</p>
|
||||||
|
<pre>
|
||||||
|
parallel -j2 --halt 20% echo {}\; exit {} ::: 0 0 1 2 3 4 5 6 7</pre>
|
||||||
|
<p>Output:</p>
|
||||||
|
<pre>
|
||||||
|
0
|
||||||
|
0
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
4
|
||||||
|
parallel: Starting no more jobs. Waiting for 2 jobs to finish. This job failed:
|
||||||
|
echo 4; exit 4
|
||||||
|
5
|
||||||
|
parallel: Starting no more jobs. Waiting for 1 jobs to finish. This job failed:
|
||||||
|
echo 5; exit 5</pre>
|
||||||
<p>GNU Parallel can retry the command with --retries. This is useful if a
|
<p>GNU Parallel can retry the command with --retries. This is useful if a
|
||||||
command fails for unkown reasons now and then.</p>
|
command fails for unkown reasons now and then.</p>
|
||||||
<pre>
|
<pre>
|
||||||
|
|
Binary file not shown.
|
@ -14,7 +14,6 @@ perl -e '$|=1;while($t++<3){sleep(1);print "."}' &
|
||||||
stdout /usr/bin/time -f %e niceload -l 8 -p $! | perl -ne '$_ >= 5 and print "OK\n"'
|
stdout /usr/bin/time -f %e niceload -l 8 -p $! | perl -ne '$_ >= 5 and print "OK\n"'
|
||||||
|
|
||||||
echo "### Test --sensor -l negative"
|
echo "### Test --sensor -l negative"
|
||||||
# The test does not currently work on my laptop
|
timeout 10 nice nice dd iflag=fullblock if=/dev/zero of=/dev/null bs=11G &
|
||||||
#timeout 10 nice nice dd iflag=fullblock if=/dev/zero of=/dev/null bs=11G &
|
niceload -t 1 --sensor 'free | field 3 | head -3|tail -1' -l -10000000 "free -g|egrep -q /.*1[0-9]. && echo more than 6 GB used"
|
||||||
#niceload -t 1 --sensor 'free | field 3 | head -3|tail -1' -l -10000000 "free -g|egrep -q /.*1[0-9]. && echo more than 6 GB used"
|
|
||||||
|
|
||||||
|
|
|
@ -5,13 +5,13 @@ echo '### Test installation missing pod2*'
|
||||||
parallel which ::: pod2html pod2man pod2texi pod2pdf | sudo parallel mv {} {}.hidden
|
parallel which ::: pod2html pod2man pod2texi pod2pdf | sudo parallel mv {} {}.hidden
|
||||||
|
|
||||||
cd ~/privat/parallel
|
cd ~/privat/parallel
|
||||||
stdout make dist | perl -pe 's/\d{8}/00000000/g'
|
stdout make dist | perl -pe 's/make\[\d\]/make[0]/g;s/\d{8}/00000000/g'
|
||||||
LAST=$(ls *tar.gz | tail -n1)
|
LAST=$(ls *tar.gz | tail -n1)
|
||||||
cd /tmp
|
cd /tmp
|
||||||
rm -rf parallel-20??????/
|
rm -rf parallel-20??????/
|
||||||
tar xf ~/privat/parallel/$LAST
|
tar xf ~/privat/parallel/$LAST
|
||||||
cd parallel-20??????/
|
cd parallel-20??????/
|
||||||
touch src/*pod src/sql
|
touch src/*pod src/sql
|
||||||
./configure && sudo stdout make install | perl -pe 's/\d{8}/00000000/g'
|
./configure && sudo stdout make install | perl -pe 's/make\[\d\]/make[0]/g;s/\d{8}/00000000/g'
|
||||||
|
|
||||||
parallel which {}.hidden ::: pod2html pod2man pod2texi pod2pdf | sudo parallel mv {} {.}
|
parallel which {}.hidden ::: pod2html pod2man pod2texi pod2pdf | sudo parallel mv {} {.}
|
||||||
|
|
|
@ -75,50 +75,42 @@ echo "### Test --wd \"'\""
|
||||||
cat ~/"'"/uNiQuE_sTrInG.9;
|
cat ~/"'"/uNiQuE_sTrInG.9;
|
||||||
stdout rm ~/"'"/uNiQuE_sTrInG.9
|
stdout rm ~/"'"/uNiQuE_sTrInG.9
|
||||||
|
|
||||||
echo '### Test --trc --/--foo1'
|
echo '### Test --trc ./--/--foo1'
|
||||||
mkdir -p ./--; echo 'Content --/--foo1' > ./--/--foo1;
|
mkdir -p ./--; echo 'Content --/--foo1' > ./--/--foo1;
|
||||||
stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./--/--foo1; cat ./--/--foo1.1;
|
stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./--/--foo1; cat ./--/--foo1.1;
|
||||||
stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: --/--foo1; cat ./--/--foo1.2
|
stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: --/--foo1; cat ./--/--foo1.2
|
||||||
|
|
||||||
echo '### Test --trc :dir/:foo2'
|
echo '### Test --trc ./:dir/:foo2'
|
||||||
mkdir -p ./:dir; echo 'Content :dir/:foo2' > ./:dir/:foo2;
|
mkdir -p ./:dir; echo 'Content :dir/:foo2' > ./:dir/:foo2;
|
||||||
stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./:dir/:foo2; cat ./:dir/:foo2.1;
|
stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./:dir/:foo2; cat ./:dir/:foo2.1;
|
||||||
stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: :dir/:foo2; cat ./:dir/:foo2.2
|
stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: :dir/:foo2; cat ./:dir/:foo2.2
|
||||||
|
|
||||||
echo '### Test --trc " "/" "foo3'
|
echo '### Test --trc ./" "/" "foo3'
|
||||||
mkdir -p ./" "; echo 'Content _/_foo3' > ./" "/" "foo3;
|
mkdir -p ./" "; echo 'Content _/_foo3' > ./" "/" "foo3;
|
||||||
stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./" "/" "foo3; cat ./" "/" "foo3.1;
|
stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./" "/" "foo3; cat ./" "/" "foo3.1;
|
||||||
stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: " "/" "foo3; cat ./" "/" "foo3.2
|
stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: " "/" "foo3; cat ./" "/" "foo3.2
|
||||||
|
|
||||||
#echo '### Test --trc --/./--foo4'
|
echo '### Test --trc ./--/./--foo4'
|
||||||
# mkdir -p ./--; echo 'Content --/./--foo4' > ./--/./--foo4;
|
mkdir -p ./--; echo 'Content --/./--foo4' > ./--/./--foo4;
|
||||||
# stdout parallel --trc {}.1 -S lo '(cat ./--foo4; echo remote{}) > --foo4.1' ::: --/./--foo4; cat ./--/./--foo4.1
|
stdout parallel --trc {}.1 -S lo '(cat ./--foo4; echo remote{}) > --foo4.1' ::: --/./--foo4; cat ./--/./--foo4.1
|
||||||
#
|
|
||||||
#echo '### Test --trc :/:foo2'
|
|
||||||
# mkdir -p ./:; echo 'Content :/:foo2' > ./:/:foo2;
|
|
||||||
# stdout parallel --trc {}.1 -S lo '(cat {}; echo remote) > {}.1' ::: ./:/:foo2; cat ./:/:foo2.1
|
|
||||||
#
|
|
||||||
#echo '### Test --trc " "/" "foo3'
|
|
||||||
# mkdir -p ./" "; echo 'Content _/_foo2' > ./" "/" "foo3;
|
|
||||||
# stdout parallel --trc {}.1 -S lo '(cat {}; echo remote) > {}.1' ::: ./" "/" "foo3; cat ./" "/" "foo3.1
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#echo '### Test --trc --/./--foo4 :/./:foo5 " "/./" "foo6 ./foo10/./foo10'
|
|
||||||
# mkdir ./--; echo 'Content --/--foo4' > ./--/--foo4;
|
|
||||||
# mkdir ./:; echo 'Content :/:foo5' > ./:/:foo5;
|
|
||||||
# mkdir ./" "; echo 'Content _/_foo2' > ./" "/" "foo3;
|
|
||||||
|
|
||||||
### echo '### Test --trc --basefile --/./--foo7 :/./:foo8 " "/./" "foo9 ./foo11/./foo11'
|
echo '### Test --trc ./:/./:foo5'
|
||||||
### echo missing
|
mkdir -p ./:; echo 'Content :/./:foo5' > ./:/./:foo5;
|
||||||
### echo '### Test --trc "-- "'
|
stdout parallel --trc {}.1 -S lo '(cat ./:foo5; echo remote{}) > ./:foo5.1' ::: ./:/./:foo5; cat ./:/./:foo5.1
|
||||||
### echo missing
|
|
||||||
### echo '### Test --trc " --"'
|
echo '### Test --trc ./" "/./" "foo6'
|
||||||
### echo missing
|
mkdir -p ./" "; echo 'Content _/./_foo6' > ./" "/./" "foo6;
|
||||||
###
|
stdout parallel --trc {}.1 -S lo '(cat ./" "foo6; echo remote{}) > ./" "foo6.1' ::: ./" "/./" "foo6; cat ./" "/./" "foo6.1
|
||||||
|
|
||||||
|
echo TODO
|
||||||
|
|
||||||
|
## echo '### Test --trc --basefile --/./--foo7 :/./:foo8 " "/./" "foo9 ./foo11/./foo11'
|
||||||
|
## echo missing
|
||||||
|
## echo '### Test --trc "-- "'
|
||||||
|
## echo missing
|
||||||
|
## echo '### Test --trc " --"'
|
||||||
|
## echo missing
|
||||||
|
##
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
rm -rf tmp
|
rm -rf tmp
|
||||||
|
|
|
@ -33,29 +33,21 @@ echo 'bug #41613: --compress --line-buffer with --tagstring';
|
||||||
|
|
||||||
echo 'bug #41613: --compress --line-buffer - no newline';
|
echo 'bug #41613: --compress --line-buffer - no newline';
|
||||||
echo 'pipe compress tagstring'
|
echo 'pipe compress tagstring'
|
||||||
perl -e 'print "O"'| parallel --compress --tagstring {#} --pipe --line-buffer cat
|
perl -e 'print "O"'| parallel --compress --tagstring {#} --pipe --line-buffer cat; echo "K"
|
||||||
echo "K"
|
|
||||||
echo 'pipe compress notagstring'
|
echo 'pipe compress notagstring'
|
||||||
perl -e 'print "O"'| parallel --compress --pipe --line-buffer cat
|
perl -e 'print "O"'| parallel --compress --pipe --line-buffer cat; echo "K"
|
||||||
echo "K"
|
|
||||||
echo 'pipe nocompress tagstring'
|
echo 'pipe nocompress tagstring'
|
||||||
perl -e 'print "O"'| parallel --tagstring {#} --pipe --line-buffer cat
|
perl -e 'print "O"'| parallel --tagstring {#} --pipe --line-buffer cat; echo "K"
|
||||||
echo "K"
|
|
||||||
echo 'pipe nocompress notagstring'
|
echo 'pipe nocompress notagstring'
|
||||||
perl -e 'print "O"'| parallel --pipe --line-buffer cat
|
perl -e 'print "O"'| parallel --pipe --line-buffer cat; echo "K"
|
||||||
echo "K"
|
|
||||||
echo 'nopipe compress tagstring'
|
echo 'nopipe compress tagstring'
|
||||||
parallel --compress --tagstring {#} --line-buffer echo {} O ::: -n
|
parallel --compress --tagstring {#} --line-buffer echo {} O ::: -n; echo "K"
|
||||||
echo "K"
|
|
||||||
echo 'nopipe compress notagstring'
|
echo 'nopipe compress notagstring'
|
||||||
parallel --compress --line-buffer echo {} O ::: -n
|
parallel --compress --line-buffer echo {} O ::: -n; echo "K"
|
||||||
echo "K"
|
|
||||||
echo 'nopipe nocompress tagstring'
|
echo 'nopipe nocompress tagstring'
|
||||||
parallel --tagstring {#} --line-buffer echo {} O ::: -n
|
parallel --tagstring {#} --line-buffer echo {} O ::: -n; echo "K"
|
||||||
echo "K"
|
|
||||||
echo 'nopipe nocompress notagstring'
|
echo 'nopipe nocompress notagstring'
|
||||||
parallel --line-buffer echo {} O ::: -n
|
parallel --line-buffer echo {} O ::: -n; echo "K"
|
||||||
echo "K"
|
|
||||||
|
|
||||||
echo 'bug #41412: --timeout + --delay causes deadlock';
|
echo 'bug #41412: --timeout + --delay causes deadlock';
|
||||||
seq 10 | parallel -j10 --timeout 1 --delay .3 echo;
|
seq 10 | parallel -j10 --timeout 1 --delay .3 echo;
|
||||||
|
|
|
@ -35,9 +35,9 @@ _EOF
|
||||||
echo
|
echo
|
||||||
cat <<'EOF' | parallel -vj0 -k -L1
|
cat <<'EOF' | parallel -vj0 -k -L1
|
||||||
echo '### Test killing children with --timeout and exit value (failed if timed out)'
|
echo '### Test killing children with --timeout and exit value (failed if timed out)'
|
||||||
pstree | grep sleep | grep -v anacron | grep -v screensave | wc;
|
pstree $$ | grep sleep | grep -v anacron | grep -v screensave | wc;
|
||||||
parallel --timeout 3 'true {} ; for i in `seq 100 120`; do bash -c "(sleep $i)" & sleep $i & done; wait; echo No good' ::: 1000000000 1000000001 ;
|
parallel --timeout 3 'true {} ; for i in `seq 100 120`; do bash -c "(sleep $i)" & sleep $i & done; wait; echo No good' ::: 1000000000 1000000001 ;
|
||||||
echo $?; sleep 7; pstree | grep sleep | grep -v anacron | grep -v screensave | wc
|
echo $?; sleep 2; pstree $$ | grep sleep | grep -v anacron | grep -v screensave | wc
|
||||||
|
|
||||||
echo '### Test -L -l and --max-lines'
|
echo '### Test -L -l and --max-lines'
|
||||||
(echo a_b;echo c) | parallel -km -L2 echo
|
(echo a_b;echo c) | parallel -km -L2 echo
|
||||||
|
|
|
@ -4,3 +4,4 @@
|
||||||
### Test -p
|
### Test -p
|
||||||
...OK
|
...OK
|
||||||
### Test --sensor -l negative
|
### Test --sensor -l negative
|
||||||
|
more than 6 GB used
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
### Test installation missing pod2*
|
### Test installation missing pod2*
|
||||||
make[1]: Entering directory `/home/tange/privat/parallel'
|
make[0]: Entering directory `/home/tange/privat/parallel'
|
||||||
if test -d "parallel-00000000"; then find "parallel-00000000" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "parallel-00000000" || { sleep 5 && rm -rf "parallel-00000000"; }; else :; fi
|
if test -d "parallel-00000000"; then find "parallel-00000000" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "parallel-00000000" || { sleep 5 && rm -rf "parallel-00000000"; }; else :; fi
|
||||||
test -d "parallel-00000000" || mkdir "parallel-00000000"
|
test -d "parallel-00000000" || mkdir "parallel-00000000"
|
||||||
(cd src && make top_distdir=../parallel-00000000 distdir=../parallel-00000000/src \
|
(cd src && make top_distdir=../parallel-00000000 distdir=../parallel-00000000/src \
|
||||||
am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
|
am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
|
||||||
make[2]: Entering directory `/home/tange/privat/parallel/src'
|
make[0]: Entering directory `/home/tange/privat/parallel/src'
|
||||||
make[2]: Leaving directory `/home/tange/privat/parallel/src'
|
make[0]: Leaving directory `/home/tange/privat/parallel/src'
|
||||||
test -n "" \
|
test -n "" \
|
||||||
|| find "parallel-00000000" -type d ! -perm -755 \
|
|| find "parallel-00000000" -type d ! -perm -755 \
|
||||||
-exec chmod u+rwx,go+rx {} \; -o \
|
-exec chmod u+rwx,go+rx {} \; -o \
|
||||||
|
@ -15,7 +15,7 @@ test -n "" \
|
||||||
|| chmod -R a+r "parallel-00000000"
|
|| chmod -R a+r "parallel-00000000"
|
||||||
tardir=parallel-00000000 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip -c >parallel-00000000.tar.gz
|
tardir=parallel-00000000 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip -c >parallel-00000000.tar.gz
|
||||||
if test -d "parallel-00000000"; then find "parallel-00000000" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "parallel-00000000" || { sleep 5 && rm -rf "parallel-00000000"; }; else :; fi
|
if test -d "parallel-00000000"; then find "parallel-00000000" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "parallel-00000000" || { sleep 5 && rm -rf "parallel-00000000"; }; else :; fi
|
||||||
make[1]: Leaving directory `/home/tange/privat/parallel'
|
make[0]: Leaving directory `/home/tange/privat/parallel'
|
||||||
checking for a BSD-compatible install... /usr/bin/install -c
|
checking for a BSD-compatible install... /usr/bin/install -c
|
||||||
checking whether build environment is sane... yes
|
checking whether build environment is sane... yes
|
||||||
checking for a thread-safe mkdir -p... /bin/mkdir -p
|
checking for a thread-safe mkdir -p... /bin/mkdir -p
|
||||||
|
@ -26,7 +26,7 @@ config.status: creating Makefile
|
||||||
config.status: creating src/Makefile
|
config.status: creating src/Makefile
|
||||||
config.status: creating config.h
|
config.status: creating config.h
|
||||||
Making install in src
|
Making install in src
|
||||||
make[1]: Entering directory `/tmp/parallel-00000000/src'
|
make[0]: Entering directory `/tmp/parallel-00000000/src'
|
||||||
pod2man --release='00000000' --center='parallel' \
|
pod2man --release='00000000' --center='parallel' \
|
||||||
--section=1 ./parallel.pod > ./parallel.1n \
|
--section=1 ./parallel.pod > ./parallel.1n \
|
||||||
&& mv ./parallel.1n ./parallel.1 \
|
&& mv ./parallel.1n ./parallel.1 \
|
||||||
|
@ -127,7 +127,7 @@ pod2pdf --output-file ./parallel_tutorial.pdf ./parallel_tutorial.pod --title "G
|
||||||
|| echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf"
|
|| echo "Warning: pod2pdf not found. Using old parallel_tutorial.pdf"
|
||||||
/bin/bash: pod2pdf: command not found
|
/bin/bash: pod2pdf: command not found
|
||||||
Warning: pod2pdf not found. Using old parallel_tutorial.pdf
|
Warning: pod2pdf not found. Using old parallel_tutorial.pdf
|
||||||
make[2]: Entering directory `/tmp/parallel-00000000/src'
|
make[0]: Entering directory `/tmp/parallel-00000000/src'
|
||||||
/bin/mkdir -p '/usr/local/bin'
|
/bin/mkdir -p '/usr/local/bin'
|
||||||
/usr/bin/install -c parallel sem sql niceload '/usr/local/bin'
|
/usr/bin/install -c parallel sem sql niceload '/usr/local/bin'
|
||||||
pod2html ./parallel.pod > ./parallel.htmln \
|
pod2html ./parallel.pod > ./parallel.htmln \
|
||||||
|
@ -234,11 +234,11 @@ pod2man --release='00000000' --center='parallel' \
|
||||||
Warning: pod2man not found. Using old parallel_tutorial.1
|
Warning: pod2man not found. Using old parallel_tutorial.1
|
||||||
/bin/mkdir -p '/usr/local/share/man/man1'
|
/bin/mkdir -p '/usr/local/share/man/man1'
|
||||||
/usr/bin/install -c -m 644 parallel.1 sem.1 sql.1 niceload.1 parallel_tutorial.1 '/usr/local/share/man/man1'
|
/usr/bin/install -c -m 644 parallel.1 sem.1 sql.1 niceload.1 parallel_tutorial.1 '/usr/local/share/man/man1'
|
||||||
make[2]: Leaving directory `/tmp/parallel-00000000/src'
|
make[0]: Leaving directory `/tmp/parallel-00000000/src'
|
||||||
make[1]: Leaving directory `/tmp/parallel-00000000/src'
|
make[0]: Leaving directory `/tmp/parallel-00000000/src'
|
||||||
make[1]: Entering directory `/tmp/parallel-00000000'
|
make[0]: Entering directory `/tmp/parallel-00000000'
|
||||||
make[2]: Entering directory `/tmp/parallel-00000000'
|
make[0]: Entering directory `/tmp/parallel-00000000'
|
||||||
make[2]: Nothing to be done for `install-exec-am'.
|
make[0]: Nothing to be done for `install-exec-am'.
|
||||||
make[2]: Nothing to be done for `install-data-am'.
|
make[0]: Nothing to be done for `install-data-am'.
|
||||||
make[2]: Leaving directory `/tmp/parallel-00000000'
|
make[0]: Leaving directory `/tmp/parallel-00000000'
|
||||||
make[1]: Leaving directory `/tmp/parallel-00000000'
|
make[0]: Leaving directory `/tmp/parallel-00000000'
|
||||||
|
|
|
@ -98,46 +98,48 @@ echo "### Test --wd \"'\""
|
||||||
### Test --wd "'"
|
### Test --wd "'"
|
||||||
stdout parallel --wd "'" -S lo echo OK ">"{}.9 ::: uNiQuE_sTrInG; cat ~/"'"/uNiQuE_sTrInG.9; stdout rm ~/"'"/uNiQuE_sTrInG.9
|
stdout parallel --wd "'" -S lo echo OK ">"{}.9 ::: uNiQuE_sTrInG; cat ~/"'"/uNiQuE_sTrInG.9; stdout rm ~/"'"/uNiQuE_sTrInG.9
|
||||||
OK
|
OK
|
||||||
echo '### Test --trc --/--foo1'
|
echo '### Test --trc ./--/--foo1'
|
||||||
### Test --trc --/--foo1
|
### Test --trc ./--/--foo1
|
||||||
mkdir -p ./--; echo 'Content --/--foo1' > ./--/--foo1; stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./--/--foo1; cat ./--/--foo1.1; stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: --/--foo1; cat ./--/--foo1.2
|
mkdir -p ./--; echo 'Content --/--foo1' > ./--/--foo1; stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./--/--foo1; cat ./--/--foo1.1; stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: --/--foo1; cat ./--/--foo1.2
|
||||||
Content --/--foo1
|
Content --/--foo1
|
||||||
remote1
|
remote1
|
||||||
Content --/--foo1
|
Content --/--foo1
|
||||||
remote2
|
remote2
|
||||||
echo '### Test --trc :dir/:foo2'
|
echo '### Test --trc ./:dir/:foo2'
|
||||||
### Test --trc :dir/:foo2
|
### Test --trc ./:dir/:foo2
|
||||||
mkdir -p ./:dir; echo 'Content :dir/:foo2' > ./:dir/:foo2; stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./:dir/:foo2; cat ./:dir/:foo2.1; stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: :dir/:foo2; cat ./:dir/:foo2.2
|
mkdir -p ./:dir; echo 'Content :dir/:foo2' > ./:dir/:foo2; stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./:dir/:foo2; cat ./:dir/:foo2.1; stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: :dir/:foo2; cat ./:dir/:foo2.2
|
||||||
Content :dir/:foo2
|
Content :dir/:foo2
|
||||||
remote1
|
remote1
|
||||||
Content :dir/:foo2
|
Content :dir/:foo2
|
||||||
remote2
|
remote2
|
||||||
echo '### Test --trc " "/" "foo3'
|
echo '### Test --trc ./" "/" "foo3'
|
||||||
### Test --trc " "/" "foo3
|
### Test --trc ./" "/" "foo3
|
||||||
mkdir -p ./" "; echo 'Content _/_foo3' > ./" "/" "foo3; stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./" "/" "foo3; cat ./" "/" "foo3.1; stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: " "/" "foo3; cat ./" "/" "foo3.2
|
mkdir -p ./" "; echo 'Content _/_foo3' > ./" "/" "foo3; stdout parallel --trc {}.1 -S lo '(cat {}; echo remote1) > {}.1' ::: ./" "/" "foo3; cat ./" "/" "foo3.1; stdout parallel --trc {}.2 -S lo '(cat ./{}; echo remote2) > {}.2' ::: " "/" "foo3; cat ./" "/" "foo3.2
|
||||||
Content _/_foo3
|
Content _/_foo3
|
||||||
remote1
|
remote1
|
||||||
Content _/_foo3
|
Content _/_foo3
|
||||||
remote2
|
remote2
|
||||||
#echo '### Test --trc --/./--foo4'
|
echo '### Test --trc ./--/./--foo4'
|
||||||
# mkdir -p ./--; echo 'Content --/./--foo4' > ./--/./--foo4; # stdout parallel --trc {}.1 -S lo '(cat ./--foo4; echo remote{}) > --foo4.1' ::: --/./--foo4; cat ./--/./--foo4.1
|
### Test --trc ./--/./--foo4
|
||||||
#
|
mkdir -p ./--; echo 'Content --/./--foo4' > ./--/./--foo4; stdout parallel --trc {}.1 -S lo '(cat ./--foo4; echo remote{}) > --foo4.1' ::: --/./--foo4; cat ./--/./--foo4.1
|
||||||
#echo '### Test --trc :/:foo2'
|
Content --/./--foo4
|
||||||
# mkdir -p ./:; echo 'Content :/:foo2' > ./:/:foo2; # stdout parallel --trc {}.1 -S lo '(cat {}; echo remote) > {}.1' ::: ./:/:foo2; cat ./:/:foo2.1
|
remote--/./--foo4
|
||||||
#
|
echo '### Test --trc ./:/./:foo5'
|
||||||
#echo '### Test --trc " "/" "foo3'
|
### Test --trc ./:/./:foo5
|
||||||
# mkdir -p ./" "; echo 'Content _/_foo2' > ./" "/" "foo3; # stdout parallel --trc {}.1 -S lo '(cat {}; echo remote) > {}.1' ::: ./" "/" "foo3; cat ./" "/" "foo3.1
|
mkdir -p ./:; echo 'Content :/./:foo5' > ./:/./:foo5; stdout parallel --trc {}.1 -S lo '(cat ./:foo5; echo remote{}) > ./:foo5.1' ::: ./:/./:foo5; cat ./:/./:foo5.1
|
||||||
#
|
Content :/./:foo5
|
||||||
#
|
remote./:/./:foo5
|
||||||
#
|
echo '### Test --trc ./" "/./" "foo6'
|
||||||
#
|
### Test --trc ./" "/./" "foo6
|
||||||
#
|
mkdir -p ./" "; echo 'Content _/./_foo6' > ./" "/./" "foo6; stdout parallel --trc {}.1 -S lo '(cat ./" "foo6; echo remote{}) > ./" "foo6.1' ::: ./" "/./" "foo6; cat ./" "/./" "foo6.1
|
||||||
#
|
Content _/./_foo6
|
||||||
#echo '### Test --trc --/./--foo4 :/./:foo5 " "/./" "foo6 ./foo10/./foo10'
|
remote./ /./ foo6
|
||||||
# mkdir ./--; echo 'Content --/--foo4' > ./--/--foo4; # mkdir ./:; echo 'Content :/:foo5' > ./:/:foo5; # mkdir ./" "; echo 'Content _/_foo2' > ./" "/" "foo3; ### echo '### Test --trc --basefile --/./--foo7 :/./:foo8 " "/./" "foo9 ./foo11/./foo11'
|
echo TODO
|
||||||
### echo missing
|
TODO
|
||||||
### echo '### Test --trc "-- "'
|
## echo '### Test --trc --basefile --/./--foo7 :/./:foo8 " "/./" "foo9 ./foo11/./foo11'
|
||||||
### echo missing
|
## echo missing
|
||||||
### echo '### Test --trc " --"'
|
## echo '### Test --trc "-- "'
|
||||||
### echo missing
|
## echo missing
|
||||||
###
|
## echo '### Test --trc " --"'
|
||||||
|
## echo missing
|
||||||
|
##
|
||||||
|
|
|
@ -30,9 +30,6 @@ a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||||
### Test --env for \n and \\ - single and double (*csh only) - no output is good but csh fails
|
### Test --env for \n and \\ - single and double (*csh only) - no output is good but csh fails
|
||||||
2 2\ \92V2=\ \92
|
2 2\ \92V2=\ \92
|
||||||
2 2\\ \92V2=\\ \92
|
2 2\\ \92V2=\\ \92
|
||||||
16 : Command not found.
|
|
||||||
8 Unmatched ".
|
|
||||||
16 \ : Command not found.
|
|
||||||
### Test --env for \n and \\ - single and double --onall (bash only) - no output is good
|
### Test --env for \n and \\ - single and double --onall (bash only) - no output is good
|
||||||
2 1
|
2 1
|
||||||
2 10
|
2 10
|
||||||
|
@ -41,8 +38,5 @@ a' * ? >o <i*? ][\!#¤%=( ) | }b 5
|
||||||
### Test --env for \n and \\ - single and double --onall (*csh only) - no output is good but csh fails
|
### Test --env for \n and \\ - single and double --onall (*csh only) - no output is good but csh fails
|
||||||
1 2\ \92V2=\ \92
|
1 2\ \92V2=\ \92
|
||||||
1 2\\ \92V2=\\ \92
|
1 2\\ \92V2=\\ \92
|
||||||
8 : Command not found.
|
|
||||||
4 Unmatched ".
|
|
||||||
8 \ : Command not found.
|
|
||||||
### Test --env for \160 - which kills csh - single and double - no output is good
|
### Test --env for \160 - which kills csh - single and double - no output is good
|
||||||
### Test --env for \160 - which kills csh - single and double --onall - no output is good
|
### Test --env for \160 - which kills csh - single and double --onall - no output is good
|
||||||
|
|
|
@ -14,44 +14,36 @@ echo 'bug #41613: --compress --line-buffer - no newline';
|
||||||
bug #41613: --compress --line-buffer - no newline
|
bug #41613: --compress --line-buffer - no newline
|
||||||
echo 'pipe compress tagstring'
|
echo 'pipe compress tagstring'
|
||||||
pipe compress tagstring
|
pipe compress tagstring
|
||||||
perl -e 'print "O"'| parallel --compress --tagstring {#} --pipe --line-buffer cat
|
perl -e 'print "O"'| parallel --compress --tagstring {#} --pipe --line-buffer cat; echo "K"
|
||||||
1 O echo "K"
|
1 OK
|
||||||
K
|
|
||||||
echo 'pipe compress notagstring'
|
echo 'pipe compress notagstring'
|
||||||
pipe compress notagstring
|
pipe compress notagstring
|
||||||
perl -e 'print "O"'| parallel --compress --pipe --line-buffer cat
|
perl -e 'print "O"'| parallel --compress --pipe --line-buffer cat; echo "K"
|
||||||
O echo "K"
|
OK
|
||||||
K
|
|
||||||
echo 'pipe nocompress tagstring'
|
echo 'pipe nocompress tagstring'
|
||||||
pipe nocompress tagstring
|
pipe nocompress tagstring
|
||||||
perl -e 'print "O"'| parallel --tagstring {#} --pipe --line-buffer cat
|
perl -e 'print "O"'| parallel --tagstring {#} --pipe --line-buffer cat; echo "K"
|
||||||
1 O echo "K"
|
1 OK
|
||||||
K
|
|
||||||
echo 'pipe nocompress notagstring'
|
echo 'pipe nocompress notagstring'
|
||||||
pipe nocompress notagstring
|
pipe nocompress notagstring
|
||||||
perl -e 'print "O"'| parallel --pipe --line-buffer cat
|
perl -e 'print "O"'| parallel --pipe --line-buffer cat; echo "K"
|
||||||
O echo "K"
|
OK
|
||||||
K
|
|
||||||
echo 'nopipe compress tagstring'
|
echo 'nopipe compress tagstring'
|
||||||
nopipe compress tagstring
|
nopipe compress tagstring
|
||||||
parallel --compress --tagstring {#} --line-buffer echo {} O ::: -n
|
parallel --compress --tagstring {#} --line-buffer echo {} O ::: -n; echo "K"
|
||||||
1 O echo "K"
|
1 OK
|
||||||
K
|
|
||||||
echo 'nopipe compress notagstring'
|
echo 'nopipe compress notagstring'
|
||||||
nopipe compress notagstring
|
nopipe compress notagstring
|
||||||
parallel --compress --line-buffer echo {} O ::: -n
|
parallel --compress --line-buffer echo {} O ::: -n; echo "K"
|
||||||
O echo "K"
|
OK
|
||||||
K
|
|
||||||
echo 'nopipe nocompress tagstring'
|
echo 'nopipe nocompress tagstring'
|
||||||
nopipe nocompress tagstring
|
nopipe nocompress tagstring
|
||||||
parallel --tagstring {#} --line-buffer echo {} O ::: -n
|
parallel --tagstring {#} --line-buffer echo {} O ::: -n; echo "K"
|
||||||
1 O echo "K"
|
1 OK
|
||||||
K
|
|
||||||
echo 'nopipe nocompress notagstring'
|
echo 'nopipe nocompress notagstring'
|
||||||
nopipe nocompress notagstring
|
nopipe nocompress notagstring
|
||||||
parallel --line-buffer echo {} O ::: -n
|
parallel --line-buffer echo {} O ::: -n; echo "K"
|
||||||
O echo "K"
|
OK
|
||||||
K
|
|
||||||
echo 'bug #41412: --timeout + --delay causes deadlock';
|
echo 'bug #41412: --timeout + --delay causes deadlock';
|
||||||
bug #41412: --timeout + --delay causes deadlock
|
bug #41412: --timeout + --delay causes deadlock
|
||||||
seq 10 | parallel -j10 --timeout 1 --delay .3 echo;
|
seq 10 | parallel -j10 --timeout 1 --delay .3 echo;
|
||||||
|
|
|
@ -31,7 +31,7 @@ opt--interactive 3
|
||||||
|
|
||||||
echo '### Test killing children with --timeout and exit value (failed if timed out)'
|
echo '### Test killing children with --timeout and exit value (failed if timed out)'
|
||||||
### Test killing children with --timeout and exit value (failed if timed out)
|
### Test killing children with --timeout and exit value (failed if timed out)
|
||||||
pstree | grep sleep | grep -v anacron | grep -v screensave | wc; parallel --timeout 3 'true {} ; for i in `seq 100 120`; do bash -c "(sleep $i)" & sleep $i & done; wait; echo No good' ::: 1000000000 1000000001 ; echo $?; sleep 7; pstree | grep sleep | grep -v anacron | grep -v screensave | wc
|
pstree $$ | grep sleep | grep -v anacron | grep -v screensave | wc; parallel --timeout 3 'true {} ; for i in `seq 100 120`; do bash -c "(sleep $i)" & sleep $i & done; wait; echo No good' ::: 1000000000 1000000001 ; echo $?; sleep 2; pstree $$ | grep sleep | grep -v anacron | grep -v screensave | wc
|
||||||
0 0 0
|
0 0 0
|
||||||
2
|
2
|
||||||
0 0 0
|
0 0 0
|
||||||
|
|
Loading…
Reference in a new issue