mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-25 23:47:53 +00:00
parallel: FrithMartin's patch for orphan blocks.
This commit is contained in:
parent
2ea31ecb17
commit
5a8df2075d
1
CREDITS
1
CREDITS
|
@ -1,3 +1,4 @@
|
||||||
|
FrithMartin: Bug patch for orphan blocks.
|
||||||
Rasmus Villemoes: Code snips for signal processing.
|
Rasmus Villemoes: Code snips for signal processing.
|
||||||
Martin d'Anjou: Code snips for signal processing.
|
Martin d'Anjou: Code snips for signal processing.
|
||||||
rici@stackoverflow.com: Documentation on exporting arrays using --env.
|
rici@stackoverflow.com: Documentation on exporting arrays using --env.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
Check that documentation is updated (compare to web):
|
Check that documentation is updated (compare to web):
|
||||||
|
|
||||||
Fixet for 20150622
|
Fixet for 20150722
|
||||||
git diff last-release-commit
|
git diff last-release-commit
|
||||||
Unmodified beta since last version => production
|
Unmodified beta since last version => production
|
||||||
Unmodified alpha since last version => beta
|
Unmodified alpha since last version => beta
|
||||||
|
@ -209,74 +209,36 @@ cc:Tim Cuthbertson <tim3d.junk@gmail.com>,
|
||||||
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
|
||||||
Jesse Alama <jesse.alama@gmail.com>
|
Jesse Alama <jesse.alama@gmail.com>
|
||||||
|
|
||||||
Subject: GNU Parallel 20150622 ('Løkke') released
|
Subject: GNU Parallel 20150722 ('Davao') released [stable]
|
||||||
|
|
||||||
GNU Parallel 20150622 ('Løkke') has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
|
GNU Parallel 20150722 ('Davao') [stable] has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
|
||||||
|
|
||||||
A performance chart has been made to compare the performance of different versions: http://www.gnu.org/software/parallel/boxplot-j2-3.0ghz-3000-1000.pdf The recent jump is due to every job being wrapped in a Perl-script doing setpgrp.
|
No new functionality was introduced so this is a good candidate for a stable release.
|
||||||
|
|
||||||
Haiku of the month:
|
Haiku of the month:
|
||||||
|
|
||||||
Programs very slow.
|
Multi core I see.
|
||||||
Multiple can run at once.
|
Doing nothing. I say no!
|
||||||
Use GNU Parallel.
|
Use GNU Parallel.
|
||||||
-- Ole Tange
|
-- Ole Tange
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
* --halt has been rewritten completely. You can now combine percentages with success or fail. See the man page.
|
|
||||||
|
|
||||||
* Exit values 102..254 have been removed. 101 means more than 100 jobs failed.
|
|
||||||
|
|
||||||
* Killing through --timeout, --memfree, or --halt is now done as a process group (whence the setpgrp wrapper).
|
|
||||||
|
|
||||||
* --termseq determines which signals are sent when a job is killed.
|
|
||||||
|
|
||||||
* An empty argument would previously cause no string to be inserted. This is now changed to '' being inserted, thus prepending a space to the output of: parallel echo {} b ::: ''
|
|
||||||
|
|
||||||
* $PARALLEL_ENV can now be set to an environment prepending the command. Used in env_parallel as mentioned in the manpage.
|
|
||||||
|
|
||||||
* --retry-failed will retry all failed jobs in a joblog. It will ignore any command given.
|
|
||||||
|
|
||||||
* --ssh and $PARALLEL_SSH can be used to set the command used for ssh. The command is assumed to behave the same way as ssh.
|
|
||||||
|
|
||||||
* --fifo now works in csh, too.
|
|
||||||
|
|
||||||
* Q(...) can be used in {= =} to shell quote a string.
|
|
||||||
|
|
||||||
* GNU Parallel was cited in: Contrasting regional architectures of schizophrenia and other complex diseases using fast variance components analysis http://biorxiv.org/content/biorxiv/early/2015/06/05/016527.full.pdf
|
|
||||||
|
|
||||||
* GNU Parallel was cited in: DockBench: An Integrated Informatic Platform Bridging the Gap between the Robust Validation of Docking Protocols and Virtual Screening Simulations http://www.mdpi.com/1420-3049/20/6/9977
|
|
||||||
|
|
||||||
* GNU Parallel was cited in: Swedes Online: You Are More Tracked Than You Think http://www.diva-portal.org/smash/get/diva2:807623/FULLTEXT01.pdf
|
|
||||||
|
|
||||||
* GNU Parallel was cited in: Tutorial: Lorenz-Mie theory for 2D scattering and resonance calculations http://arxiv.org/pdf/1505.07691.pdf
|
|
||||||
|
|
||||||
* GNU Parallel was cited in: A quantitative assessment of the Hadoop framework for analyzing massively parallel DNA sequencing data http://link.springer.com/article/10.1186/s13742-015-0058-5
|
|
||||||
|
|
||||||
* GNU Parallel was cited in: A composite genome approach to identify phylogenetically informative data from next-generation sequencing http://www.biomedcentral.com/content/pdf/s12859-015-0632-y.pdf
|
|
||||||
|
|
||||||
* GNU Parallel was cited in: Tutorial: Lorenz-Mie theory for 2D scattering and resonance calculations http://arxiv.org/pdf/1505.07691.pdf
|
|
||||||
|
|
||||||
* <<Har angiveligt submittet ny version - afventer opdatering>> GNU Parallel was used (unfortunately without citation) in: MUGBAS: a species free gene-based programme suite for post-GWAS analysis http://www.ncbi.nlm.nih.gov/pubmed/25765345
|
* <<Har angiveligt submittet ny version - afventer opdatering>> GNU Parallel was used (unfortunately without citation) in: MUGBAS: a species free gene-based programme suite for post-GWAS analysis http://www.ncbi.nlm.nih.gov/pubmed/25765345
|
||||||
|
|
||||||
* <<Afventer updateret publisering>> GNU Parallel was used in: Large Scale Author Name Disambiguation in Digital Libraries http://ieeexplore.ieee.org/xpl/abstractReferences.jsp?tp=&arnumber=7004487&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D7004487
|
* <<Afventer updateret publisering>> GNU Parallel was used in: Large Scale Author Name Disambiguation in Digital Libraries http://ieeexplore.ieee.org/xpl/abstractReferences.jsp?tp=&arnumber=7004487&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D7004487
|
||||||
|
|
||||||
* <<kontaktet 2015-06-22>> GNU Parallel was used (unfortunately with wrong citation) in: TADSim: Discrete Event-Based Performance Prediction for Temperature-Accelerated Dynamics http://vruehle.de/publications/2015c.pdf
|
* <<kontaktet 2015-06-22 Afventer svar fra journal>> GNU Parallel was used (unfortunately with wrong citation) in: TADSim: Discrete Event-Based Performance Prediction for Temperature-Accelerated Dynamics http://vruehle.de/publications/2015c.pdf
|
||||||
|
|
||||||
* << Update forventet juni Rachel har lige svaret >> GNU Parallel was used in: SISRS: Site Identification from Short Read Sequences https://github.com/rachelss/SISRS/
|
* << Update forventet juni Rachel har lige svaret >> GNU Parallel was used in: SISRS: Site Identification from Short Read Sequences https://github.com/rachelss/SISRS/
|
||||||
|
|
||||||
* GNU Parallel is used in: taxator-tk http://algbio.cs.uni-duesseldorf.de/webapps/wa-download/
|
* GNU Parallel was cited in: Decomposing Time-Lapse Paintings into Layers http://cs.gmu.edu/~ygingold/timemap/Decomposing%20Time-Lapse%20Paintings%20into%20Layers%20(Tan%20et%20al%202015%20SIGGRAPH)%20600dpi.pdf
|
||||||
|
|
||||||
* GNU Parallel is used in: https://github.com/d2207197/local-mapreduce
|
* GNU Parallel was used in: Somatic mutation calling from the matched tumor-normal exome-sequencing http://fafner.meb.ki.se/biostatwiki/somac/
|
||||||
|
|
||||||
* GNU Parallel is used in: wiki-edit-news https://github.com/albert-decatur/wiki-edit-news
|
* Using GNU Parallel to speed up network operations http://vielmetti.typepad.com/vacuum/2015/06/using-gnu-parallel-to-speed-up-network-operations.html
|
||||||
|
|
||||||
* GNU Parallel is used in: A Fingerprint Identification System https://curve.carleton.ca/system/files/theses/28733.pdf
|
* Simultaneously benchmark many URLs with ApacheBench and GNU parallel https://www.simonholywell.com/post/2015/06/parallel-benchmark-many-urls-with-apachebench/
|
||||||
|
|
||||||
* Job ad asking for GNU Parallel experience: http://searchjobs.intel.com/gdansk-pol/software-validation-engineer/63A06826DAF24797AB414DC146201C2E/job/
|
|
||||||
|
|
||||||
* Using BLAT http://wangzhengyuan.blogspot.dk/2015/06/using-blat.html
|
|
||||||
|
|
||||||
* Bug fixes and man page updates.
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
|
14
src/parallel
14
src/parallel
|
@ -357,6 +357,7 @@ sub spreadstdin {
|
||||||
$recstart,$recend,length $1);
|
$recstart,$recend,length $1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
eof($in) and last;
|
||||||
# Find the last recend-recstart in $buf
|
# Find the last recend-recstart in $buf
|
||||||
if($buf =~ s/(.*$recend)($recstart.*?)$/$2/os) {
|
if($buf =~ s/(.*$recend)($recstart.*?)$/$2/os) {
|
||||||
# Copy to modifiable variable
|
# Copy to modifiable variable
|
||||||
|
@ -379,6 +380,7 @@ sub spreadstdin {
|
||||||
shorten(\$buf,$i);
|
shorten(\$buf,$i);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
eof($in) and last;
|
||||||
# Find the last recend+recstart in $buf
|
# Find the last recend+recstart in $buf
|
||||||
my $i = rindex64(\$buf,$recendrecstart);
|
my $i = rindex64(\$buf,$recendrecstart);
|
||||||
if($i != -1) {
|
if($i != -1) {
|
||||||
|
@ -753,8 +755,8 @@ sub options_hash {
|
||||||
"cleanup" => \$opt::cleanup,
|
"cleanup" => \$opt::cleanup,
|
||||||
"basefile|bf=s" => \@opt::basefile,
|
"basefile|bf=s" => \@opt::basefile,
|
||||||
"B=s" => \$opt::retired,
|
"B=s" => \$opt::retired,
|
||||||
"ctrlc|ctrl-c" => \$opt::ctrlc,
|
"ctrlc|ctrl-c" => \$opt::retired,
|
||||||
"noctrlc|no-ctrlc|no-ctrl-c" => \$opt::noctrlc,
|
"noctrlc|no-ctrlc|no-ctrl-c" => \$opt::retired,
|
||||||
"workdir|work-dir|wd=s" => \$opt::workdir,
|
"workdir|work-dir|wd=s" => \$opt::workdir,
|
||||||
"W=s" => \$opt::retired,
|
"W=s" => \$opt::retired,
|
||||||
"tmpdir=s" => \$opt::tmpdir,
|
"tmpdir=s" => \$opt::tmpdir,
|
||||||
|
@ -886,7 +888,6 @@ sub parse_options {
|
||||||
|
|
||||||
# no-* overrides *
|
# no-* overrides *
|
||||||
if($opt::nokeeporder) { $opt::keeporder = undef; }
|
if($opt::nokeeporder) { $opt::keeporder = undef; }
|
||||||
if($opt::noctrlc) { $opt::ctrlc = undef; }
|
|
||||||
|
|
||||||
if(@opt::v) { $Global::verbose = $#opt::v+1; } # Convert -v -v to v=2
|
if(@opt::v) { $Global::verbose = $#opt::v+1; } # Convert -v -v to v=2
|
||||||
$Global::debug = $opt::D;
|
$Global::debug = $opt::D;
|
||||||
|
@ -936,7 +937,6 @@ sub parse_options {
|
||||||
$opt::blocksize = 2**31-1;
|
$opt::blocksize = 2**31-1;
|
||||||
}
|
}
|
||||||
$opt::memfree = multiply_binary_prefix($opt::memfree);
|
$opt::memfree = multiply_binary_prefix($opt::memfree);
|
||||||
if(defined $opt::controlmaster) { $opt::noctrlc = 1; }
|
|
||||||
if(defined $opt::timeout and $opt::timeout !~ /^\d+(\.\d+)?%?$/) {
|
if(defined $opt::timeout and $opt::timeout !~ /^\d+(\.\d+)?%?$/) {
|
||||||
::error("--timeout must be seconds or percentage.");
|
::error("--timeout must be seconds or percentage.");
|
||||||
wait_and_exit(255);
|
wait_and_exit(255);
|
||||||
|
@ -1055,6 +1055,8 @@ sub parse_options {
|
||||||
"-W has been retired. Use --wd.",
|
"-W has been retired. Use --wd.",
|
||||||
"-Y has been retired. Use --shebang.",
|
"-Y has been retired. Use --shebang.",
|
||||||
"-H has been retired. Use --halt.",
|
"-H has been retired. Use --halt.",
|
||||||
|
"--ctrlc has been retired.",
|
||||||
|
"--noctrlc has been retired.",
|
||||||
"--tollef has been retired. Use -u -q --arg-sep -- and --load for -l.");
|
"--tollef has been retired. Use -u -q --arg-sep -- and --load for -l.");
|
||||||
::wait_and_exit(255);
|
::wait_and_exit(255);
|
||||||
}
|
}
|
||||||
|
@ -1079,7 +1081,7 @@ sub parse_options {
|
||||||
|
|
||||||
sub init_globals {
|
sub init_globals {
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20150622;
|
$Global::version = 20150623;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
$Global::debug = 0;
|
$Global::debug = 0;
|
||||||
|
@ -9457,6 +9459,6 @@ sub mkdir_or_die {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Keep perl -w happy
|
# Keep perl -w happy
|
||||||
$opt::ctrlc = $opt::x = $Semaphore::timeout = $Semaphore::wait =
|
$opt::x = $Semaphore::timeout = $Semaphore::wait =
|
||||||
$opt::ignored_option = $Job::file_descriptor_warning_printed =
|
$opt::ignored_option = $Job::file_descriptor_warning_printed =
|
||||||
$Global::envdef = 0;
|
$Global::envdef = 0;
|
||||||
|
|
|
@ -502,7 +502,7 @@ I<size> defaults to 1M.
|
||||||
See B<--pipe> and B<--pipepart> for use of this.
|
See B<--pipe> and B<--pipepart> for use of this.
|
||||||
|
|
||||||
|
|
||||||
=item B<--cat> (alpha testing)
|
=item B<--cat> (beta testing)
|
||||||
|
|
||||||
Create a temporary file with content. Normally B<--pipe>/B<--pipepart>
|
Create a temporary file with content. Normally B<--pipe>/B<--pipepart>
|
||||||
will give data to the program on stdin (standard input). With B<--cat>
|
will give data to the program on stdin (standard input). With B<--cat>
|
||||||
|
@ -568,12 +568,6 @@ Use I<prg> for (de)compressing temporary files. It is assumed that I<prg
|
||||||
output) unless B<--decompress-program> is given.
|
output) unless B<--decompress-program> is given.
|
||||||
|
|
||||||
|
|
||||||
=item B<--ctrlc>
|
|
||||||
|
|
||||||
If receiving SIGNING, GNU B<parallel> will send SIGINT to tasks
|
|
||||||
running on remote computers thus killing them.
|
|
||||||
|
|
||||||
|
|
||||||
=item B<--delimiter> I<delim>
|
=item B<--delimiter> I<delim>
|
||||||
|
|
||||||
=item B<-d> I<delim>
|
=item B<-d> I<delim>
|
||||||
|
@ -695,7 +689,7 @@ Implies B<--semaphore>.
|
||||||
See also B<--bg>, B<man sem>.
|
See also B<--bg>, B<man sem>.
|
||||||
|
|
||||||
|
|
||||||
=item B<--fifo> (alpha testing)
|
=item B<--fifo> (beta testing)
|
||||||
|
|
||||||
Create a temporary fifo with content. Normally B<--pipe> and
|
Create a temporary fifo with content. Normally B<--pipe> and
|
||||||
B<--pipepart> will give data to the program on stdin (standard
|
B<--pipepart> will give data to the program on stdin (standard
|
||||||
|
@ -749,9 +743,9 @@ See also: B<--line-buffer> B<--ungroup>
|
||||||
Print a summary of the options to GNU B<parallel> and exit.
|
Print a summary of the options to GNU B<parallel> and exit.
|
||||||
|
|
||||||
|
|
||||||
=item B<--halt-on-error> I<val> (alpha testing)
|
=item B<--halt-on-error> I<val> (beta testing)
|
||||||
|
|
||||||
=item B<--halt> I<val> (alpha testing)
|
=item B<--halt> I<val> (beta testing)
|
||||||
|
|
||||||
When should GNU B<parallel> terminate? In some situations it makes no
|
When should GNU B<parallel> terminate? In some situations it makes no
|
||||||
sense to run all jobs. GNU B<parallel> should simply give up as soon
|
sense to run all jobs. GNU B<parallel> should simply give up as soon
|
||||||
|
@ -1491,7 +1485,7 @@ commands.
|
||||||
See also B<--joblog>, B<--resume>.
|
See also B<--joblog>, B<--resume>.
|
||||||
|
|
||||||
|
|
||||||
=item B<--retry-failed> (alpha testing)
|
=item B<--retry-failed> (beta testing)
|
||||||
|
|
||||||
Retry all failed jobs in joblog. By reading B<--joblog> GNU
|
Retry all failed jobs in joblog. By reading B<--joblog> GNU
|
||||||
B<parallel> will figure out the failed jobs and run those again.
|
B<parallel> will figure out the failed jobs and run those again.
|
||||||
|
@ -1736,7 +1730,7 @@ Does not run the command but quotes it. Useful for making quoted
|
||||||
composed commands for GNU B<parallel>.
|
composed commands for GNU B<parallel>.
|
||||||
|
|
||||||
|
|
||||||
=item B<--shuf> (beta testing)
|
=item B<--shuf>
|
||||||
|
|
||||||
Shuffle jobs. When having multiple input sources it is hard to
|
Shuffle jobs. When having multiple input sources it is hard to
|
||||||
randomize jobs. --shuf will generate all jobs, and shuffle them before
|
randomize jobs. --shuf will generate all jobs, and shuffle them before
|
||||||
|
@ -1750,7 +1744,7 @@ Do not use the first line of input (used by GNU B<parallel> itself
|
||||||
when called with B<--shebang>).
|
when called with B<--shebang>).
|
||||||
|
|
||||||
|
|
||||||
=item B<--ssh> I<sshcommand> (alpha testing)
|
=item B<--ssh> I<sshcommand> (beta testing)
|
||||||
|
|
||||||
GNU B<parallel> defaults to using B<ssh> for remote access. This can
|
GNU B<parallel> defaults to using B<ssh> for remote access. This can
|
||||||
be overridden with B<--ssh>. It can also be set on a per server
|
be overridden with B<--ssh>. It can also be set on a per server
|
||||||
|
@ -1917,7 +1911,7 @@ I<str> and TAB (\t). I<str> can contain replacement strings such as
|
||||||
B<--tagstring> is ignored when using B<-u>, B<--onall>, and B<--nonall>.
|
B<--tagstring> is ignored when using B<-u>, B<--onall>, and B<--nonall>.
|
||||||
|
|
||||||
|
|
||||||
=item B<--termseq> I<sequence> (alpha testing)
|
=item B<--termseq> I<sequence> (beta testing)
|
||||||
|
|
||||||
Termination sequence. When a job is killed due to B<--timeout>,
|
Termination sequence. When a job is killed due to B<--timeout>,
|
||||||
B<--memfree>, B<--halt>, or abnormal termination of GNU B<parallel>,
|
B<--memfree>, B<--halt>, or abnormal termination of GNU B<parallel>,
|
||||||
|
@ -1945,7 +1939,7 @@ Use B<tmux> for output. Start a B<tmux> session and run each job in a
|
||||||
window in that session. No other output will be produced.
|
window in that session. No other output will be produced.
|
||||||
|
|
||||||
|
|
||||||
=item B<--timeout> I<val> (alpha testing)
|
=item B<--timeout> I<val> (beta testing)
|
||||||
|
|
||||||
Time out for command. If the command runs for longer than I<val>
|
Time out for command. If the command runs for longer than I<val>
|
||||||
seconds it will get killed with SIGTERM, followed by SIGTERM 200 ms
|
seconds it will get killed with SIGTERM, followed by SIGTERM 200 ms
|
||||||
|
@ -3543,7 +3537,7 @@ $SHELL. If undefined use:
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
|
||||||
=item $PARALLEL_SSH (alpha testing)
|
=item $PARALLEL_SSH (beta testing)
|
||||||
|
|
||||||
GNU B<parallel> defaults to using B<ssh> for remote access. This can
|
GNU B<parallel> defaults to using B<ssh> for remote access. This can
|
||||||
be overridden with $PARALLEL_SSH, which again can be overridden with
|
be overridden with $PARALLEL_SSH, which again can be overridden with
|
||||||
|
|
|
@ -91,9 +91,9 @@ bit tricky because there should be no files to clean up if GNU
|
||||||
B<parallel> is killed by a power outage.
|
B<parallel> is killed by a power outage.
|
||||||
|
|
||||||
GNU B<parallel> first selects a compress program. If the user has not
|
GNU B<parallel> first selects a compress program. If the user has not
|
||||||
selected one, the first of these that are in $PATH is used: B<lzop
|
selected one, the first of these that are in $PATH is used: B<lz4 pigz
|
||||||
pigz pxz gzip plzip pbzip2 lzma xz lzip bzip2>. They are sorted by
|
lzop plzip pbzip2 pxz gzip lzma xz bzip2 lzip>. They are sorted by
|
||||||
speed on a 8 core machine.
|
speed on a 16 core machine.
|
||||||
|
|
||||||
Schematically the setup is as follows:
|
Schematically the setup is as follows:
|
||||||
|
|
||||||
|
@ -241,7 +241,6 @@ are added to the title to force it to be outside the limits.
|
||||||
|
|
||||||
You can map the bad limits using:
|
You can map the bad limits using:
|
||||||
|
|
||||||
|
|
||||||
perl -e 'sub r { int(rand(shift)).($_[0] && "\t".r(@_)) } print map { r(@ARGV)."\n" } 1..10000' 1600 1500 90 |
|
perl -e 'sub r { int(rand(shift)).($_[0] && "\t".r(@_)) } print map { r(@ARGV)."\n" } 1..10000' 1600 1500 90 |
|
||||||
perl -ane '$F[0]+$F[1]+$F[2] < 2037 and print ' |
|
perl -ane '$F[0]+$F[1]+$F[2] < 2037 and print ' |
|
||||||
parallel --colsep '\t' --tagstring '{1}\t{2}\t{3}' tmux -S /tmp/p{%}-'{=3 $_="O"x$_ =}' \
|
parallel --colsep '\t' --tagstring '{1}\t{2}\t{3}' tmux -S /tmp/p{%}-'{=3 $_="O"x$_ =}' \
|
||||||
|
@ -491,7 +490,6 @@ You can work around that by appending '&& true':
|
||||||
When run in a Perl script using B<system> with parallel as the first
|
When run in a Perl script using B<system> with parallel as the first
|
||||||
string:
|
string:
|
||||||
|
|
||||||
|
|
||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
|
|
||||||
system("parallel",'setenv a {}; echo $a',":::",2);
|
system("parallel",'setenv a {}; echo $a',":::",2);
|
||||||
|
|
|
@ -51,6 +51,8 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
stdout parallel -g
|
stdout parallel -g
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
|
@ -60,6 +62,8 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
stdout parallel -H 1
|
stdout parallel -H 1
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
|
@ -69,6 +73,8 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
stdout parallel -T
|
stdout parallel -T
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
|
@ -78,6 +84,8 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
stdout parallel -U foo
|
stdout parallel -U foo
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
|
@ -87,6 +95,8 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
stdout parallel -W foo
|
stdout parallel -W foo
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
|
@ -96,6 +106,8 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
stdout parallel -Y
|
stdout parallel -Y
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
|
@ -105,6 +117,8 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
echo '### Test --joblog followed by --resume --joblog'
|
echo '### Test --joblog followed by --resume --joblog'
|
||||||
### Test --joblog followed by --resume --joblog
|
### Test --joblog followed by --resume --joblog
|
||||||
|
|
|
@ -6,6 +6,8 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
parallel: Error: -B has been retired. Use --bf.
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
|
@ -14,6 +16,8 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
parallel: Error: -B has been retired. Use --bf.
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
|
@ -22,6 +26,8 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
parallel: Error: -g has been retired. Use --group.
|
parallel: Error: -g has been retired. Use --group.
|
||||||
parallel: Error: -B has been retired. Use --bf.
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
|
@ -30,5 +36,7 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
<<< End test global config - must run alone so the global config does not confuse others
|
<<< End test global config - must run alone so the global config does not confuse others
|
||||||
|
|
|
@ -115,6 +115,8 @@ one 1
|
||||||
echo '### Test --tollef'
|
echo '### Test --tollef'
|
||||||
### Test --tollef
|
### Test --tollef
|
||||||
stdout parallel -k --tollef echo -- 1 2 3 ::: a b c | sort
|
stdout parallel -k --tollef echo -- 1 2 3 ::: a b c | sort
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
parallel: Error: -B has been retired. Use --bf.
|
parallel: Error: -B has been retired. Use --bf.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
@ -133,6 +135,8 @@ parallel: Error: -U has been retired. Use --er.
|
||||||
parallel: Error: -W has been retired. Use --wd.
|
parallel: Error: -W has been retired. Use --wd.
|
||||||
parallel: Error: -Y has been retired. Use --shebang.
|
parallel: Error: -Y has been retired. Use --shebang.
|
||||||
parallel: Error: -H has been retired. Use --halt.
|
parallel: Error: -H has been retired. Use --halt.
|
||||||
|
parallel: Error: --ctrlc has been retired.
|
||||||
|
parallel: Error: --noctrlc has been retired.
|
||||||
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
parallel: Error: --tollef has been retired. Use -u -q --arg-sep -- and --load for -l.
|
||||||
echo '### Test --gnu'
|
echo '### Test --gnu'
|
||||||
### Test --gnu
|
### Test --gnu
|
||||||
|
|
|
@ -157,8 +157,7 @@ parallel: Warning: A record was longer than 5. Increasing to --blocksize 8.
|
||||||
echo '### Test 10M records with too big block'; ( echo start; seq 1 1 | parallel -uj1 cat /tmp/blocktest\;true; echo end; echo start; seq 1 1 | parallel -uj1 cat /tmp/blocktest\;true; echo end; echo start; seq 1 1 | parallel -uj1 cat /tmp/blocktest\;true; echo end; ) | stdout parallel -k --block 10M -j2 --pipe --recstart 'start\n' wc -c | egrep -v '^0$'
|
echo '### Test 10M records with too big block'; ( echo start; seq 1 1 | parallel -uj1 cat /tmp/blocktest\;true; echo end; echo start; seq 1 1 | parallel -uj1 cat /tmp/blocktest\;true; echo end; echo start; seq 1 1 | parallel -uj1 cat /tmp/blocktest\;true; echo end; ) | stdout parallel -k --block 10M -j2 --pipe --recstart 'start\n' wc -c | egrep -v '^0$'
|
||||||
### Test 10M records with too big block
|
### Test 10M records with too big block
|
||||||
6888906
|
6888906
|
||||||
6888906
|
13777812
|
||||||
6888906
|
|
||||||
echo '### Test --rrs -N1 --recend single'; echo 12a34a45a6 | parallel -k --pipe --recend a -N1 --rrs 'echo -n "$PARALLEL_SEQ>"; cat; echo; sleep 0.1'
|
echo '### Test --rrs -N1 --recend single'; echo 12a34a45a6 | parallel -k --pipe --recend a -N1 --rrs 'echo -n "$PARALLEL_SEQ>"; cat; echo; sleep 0.1'
|
||||||
### Test --rrs -N1 --recend single
|
### Test --rrs -N1 --recend single
|
||||||
1>12
|
1>12
|
||||||
|
@ -180,18 +179,15 @@ echo '### Test --rrs -N1 --recend single'; echo 12a34b45a6 | parallel -k --p
|
||||||
|
|
||||||
echo '### Test --rrs --recend single'; echo 12a34a45a6 | parallel -k --pipe --recend a --rrs 'echo -n "$PARALLEL_SEQ>"; cat; echo; sleep 0.1'
|
echo '### Test --rrs --recend single'; echo 12a34a45a6 | parallel -k --pipe --recend a --rrs 'echo -n "$PARALLEL_SEQ>"; cat; echo; sleep 0.1'
|
||||||
### Test --rrs --recend single
|
### Test --rrs --recend single
|
||||||
1>123445
|
1>1234456
|
||||||
2>6
|
|
||||||
|
|
||||||
echo '### Test --rrs --regexp --recend alternate'; echo 12a34b45a6 | parallel -k --pipe --regexp --recend 'a|b' --rrs 'echo -n "$PARALLEL_SEQ>"; cat; echo; sleep 0.1'
|
echo '### Test --rrs --regexp --recend alternate'; echo 12a34b45a6 | parallel -k --pipe --regexp --recend 'a|b' --rrs 'echo -n "$PARALLEL_SEQ>"; cat; echo; sleep 0.1'
|
||||||
### Test --rrs --regexp --recend alternate
|
### Test --rrs --regexp --recend alternate
|
||||||
1>123445
|
1>1234456
|
||||||
2>6
|
|
||||||
|
|
||||||
echo '### Test --rrs --recend single'; echo 12a34b45a6 | parallel -k --pipe --recend 'b' --rrs 'echo -n "$PARALLEL_SEQ>"; cat; echo; sleep 0.1'
|
echo '### Test --rrs --recend single'; echo 12a34b45a6 | parallel -k --pipe --recend 'b' --rrs 'echo -n "$PARALLEL_SEQ>"; cat; echo; sleep 0.1'
|
||||||
### Test --rrs --recend single
|
### Test --rrs --recend single
|
||||||
1>12a34
|
1>12a3445a6
|
||||||
2>45a6
|
|
||||||
|
|
||||||
echo '### Test -N even'; seq 1 10 | parallel -j2 -k -N 2 --pipe cat";echo ole;sleep 0.\$PARALLEL_SEQ"
|
echo '### Test -N even'; seq 1 10 | parallel -j2 -k -N 2 --pipe cat";echo ole;sleep 0.\$PARALLEL_SEQ"
|
||||||
### Test -N even
|
### Test -N even
|
||||||
|
@ -251,7 +247,7 @@ ole
|
||||||
ole
|
ole
|
||||||
echo '### Test --recstart + --recend'; cat /tmp/blocktest | parallel --block 1M -k --recstart 44 --recend "44" -j10 --pipe sort -n |md5sum
|
echo '### Test --recstart + --recend'; cat /tmp/blocktest | parallel --block 1M -k --recstart 44 --recend "44" -j10 --pipe sort -n |md5sum
|
||||||
### Test --recstart + --recend
|
### Test --recstart + --recend
|
||||||
3c20e43c58152da30261c5827a1f9084 -
|
fc06ad6705d362075fcbc6de43315f8f -
|
||||||
echo '### Race condition bug - 1 - would block'; seq 1 80 | nice parallel -j0 'seq 1 10| parallel --block 1 --recend "" --pipe cat;true' >/dev/null
|
echo '### Race condition bug - 1 - would block'; seq 1 80 | nice parallel -j0 'seq 1 10| parallel --block 1 --recend "" --pipe cat;true' >/dev/null
|
||||||
### Race condition bug - 1 - would block
|
### Race condition bug - 1 - would block
|
||||||
echo '### Race condition bug - 2 - would block'; seq 1 100 | nice parallel -j100 --block 1 --recend "" --pipe cat >/dev/null
|
echo '### Race condition bug - 2 - would block'; seq 1 100 | nice parallel -j100 --block 1 --recend "" --pipe cat >/dev/null
|
||||||
|
|
Loading…
Reference in a new issue