Released as 20220422 ('Буча')

This commit is contained in:
Ole Tange 2022-04-23 11:38:57 +02:00
parent 61d58288aa
commit 8a918029ab
38 changed files with 410 additions and 583 deletions

21
NEWS
View file

@ -1,4 +1,23 @@
202203022
20220422
New in this release:
* sash is no longer supported as shell.
* --retries 0 is an alias for --retries 2147483647.
* --shell-completion returns shell completion code.
* --ssh-login-file reloads every second.
* --parset is replaced with --_parset because it is only used internally.
* sem --pipe passes STDIN (standard input) to the command.
* Bug fixes and man page updates.
20220322
New in this release:

24
README
View file

@ -57,11 +57,11 @@ document.
Full installation of GNU Parallel is as simple as:
wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2.sig
gpg parallel-20220322.tar.bz2.sig
bzip2 -dc parallel-20220322.tar.bz2 | tar xvf -
cd parallel-20220322
wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2.sig
gpg parallel-20220422.tar.bz2.sig
bzip2 -dc parallel-20220422.tar.bz2 | tar xvf -
cd parallel-20220422
./configure && make && sudo make install
@ -70,11 +70,11 @@ Full installation of GNU Parallel is as simple as:
If you are not root you can add ~/bin to your path and install in
~/bin and ~/share:
wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20220322.tar.bz2.sig
gpg parallel-20220322.tar.bz2.sig
bzip2 -dc parallel-20220322.tar.bz2 | tar xvf -
cd parallel-20220322
wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2
wget https://ftpmirror.gnu.org/parallel/parallel-20220422.tar.bz2.sig
gpg parallel-20220422.tar.bz2.sig
bzip2 -dc parallel-20220422.tar.bz2 | tar xvf -
cd parallel-20220422
./configure --prefix=$HOME && make && make install
Or if your system lacks 'make' you can simply copy src/parallel
@ -122,8 +122,8 @@ will love you for it.
When using programs that use GNU Parallel to process data for
publication please cite:
Tange, O. (2022, March 22). GNU Parallel 20220322 ('Маріу́поль').
Zenodo. https://doi.org/10.5281/zenodo.6377950
Tange, O. (2022, April 22). GNU Parallel 20220422 ('Буча').
Zenodo. https://doi.org/10.5281/zenodo.6479152
Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free
Software Foundation, Inc.

20
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for parallel 20220322.
# Generated by GNU Autoconf 2.69 for parallel 20220422.
#
# Report bugs to <bug-parallel@gnu.org>.
#
@ -579,8 +579,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='parallel'
PACKAGE_TARNAME='parallel'
PACKAGE_VERSION='20220322'
PACKAGE_STRING='parallel 20220322'
PACKAGE_VERSION='20220422'
PACKAGE_STRING='parallel 20220422'
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
PACKAGE_URL=''
@ -1214,7 +1214,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures parallel 20220322 to adapt to many kinds of systems.
\`configure' configures parallel 20220422 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1281,7 +1281,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of parallel 20220322:";;
short | recursive ) echo "Configuration of parallel 20220422:";;
esac
cat <<\_ACEOF
@ -1357,7 +1357,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
parallel configure 20220322
parallel configure 20220422
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -1374,7 +1374,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by parallel $as_me 20220322, which was
It was created by parallel $as_me 20220422, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -2237,7 +2237,7 @@ fi
# Define the identity of the package.
PACKAGE='parallel'
VERSION='20220322'
VERSION='20220422'
cat >>confdefs.h <<_ACEOF
@ -2880,7 +2880,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by parallel $as_me 20220322, which was
This file was extended by parallel $as_me 20220422, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -2942,7 +2942,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
parallel config.status 20220322
parallel config.status 20220422
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View file

@ -1,4 +1,4 @@
AC_INIT([parallel],[20220322],[bug-parallel@gnu.org])
AC_INIT([parallel],[20220422],[bug-parallel@gnu.org])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([

View file

@ -227,10 +227,10 @@ You can even get GNU Parallel in a version with the citation notice
silenced and which you do not have to cite: You just have to pay for
it and help finance the development that way.
A lot of tools requires configuration before use, or give you 'OK. Do
not show this again'-dialog boxes until you silence those, so it is
not uncommon, that you have to do a little extra work, when running
the software for the first time.
Many tools require configuration before use, or give you 'OK. Do not
show this again'-dialog boxes until you silence those, so it is not
uncommon, that you have to do a little extra work, when running the
software for the first time.
Running 'parallel --citation' takes less than 10 seconds to run, and
if GNU Parallel does not save you 10 seconds, then you should probably

View file

@ -3,7 +3,6 @@
# SPDX-License-Identifier: CC-BY-SA-4.0
Quote of the month:
Such a life saver of a tool.
-- winrid@ycombinator
@ -17,9 +16,6 @@ Quote of the month:
parallel is so useful and i use it multiple times daily.
-- arrakeen@ycombinator
Immensely useful which I am forever grateful that it exists.
-- AlexDragusin@ycombinator
Parallel is Good Stuff (tm)
-- bloopernova@ycombinator
@ -193,6 +189,9 @@ https://negfeedback.blogspot.com/2020/05/indispensable-command-line-tools.html
=== Used ===
Immensely useful which I am forever grateful that it exists.
-- AlexDragusin@ycombinator
My favorite software, ever. Keep the good work.
-- Federico Alves @federicoalves@twitter

View file

@ -254,25 +254,30 @@ from:tange@gnu.org
to:parallel@gnu.org, bug-parallel@gnu.org
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
Subject: GNU Parallel 20220422 ('Буча #SlavaUkrayini #SlavaUkrayini🌻 albright<<>>') released [stable]
Subject: GNU Parallel 20220422 ('Буча') released
GNU Parallel 20220422 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4
<<No new functionality was introduced so this is a good candidate for a stable release.>>
GNU Parallel 20220422 ('Буча') has been released. It is available for download at: lbry://@GnuParallel:4
Quote of the month:
<<>>
Immensely useful which I am forever grateful that it exists.
-- AlexDragusin@ycombinator
New in this release:
<<>>
* sash is no longer supported as shell.
* Bug fixes and man page updates: Many options now have a 'See also' section.
* --retries 0 is an alias for --retries 2147483647.
News about GNU Parallel:
* --shell-completion returns shell completion code.
<<>>
* --ssh-login-file reloads every second.
* --parset is replaced with --_parset because it is only used internally.
* sem --pipe passes STDIN (standard input) to the command.
* Bug fixes and man page updates.
Get the book: GNU Parallel 2018 http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html

View file

@ -1,7 +1,7 @@
<directory name="parallel" rev="323" vrev="3" srcmd5="c565cbe04658889d22a7e5032d77984d">
<entry name="PKGBUILD" md5="35856b239fc5c5d674b23b0b29372514" size="936" mtime="1647986244" />
<entry name="parallel-20220322.tar.bz2" md5="56609a884c192cd3789f0a088f0e0f2c" size="2359966" mtime="1647986244" />
<entry name="parallel.spec" md5="2a5340a2f652e86d5ba722cbeb27ecaa" size="5713" mtime="1647985150" />
<entry name="parallel_20220322.dsc" md5="50c65faae3e1960012a9ec4e2c7c8bf3" size="556" mtime="1647985150" />
<entry name="parallel_20220322.tar.gz" md5="fbe1fe020e93180ecd2275c2cefa85c4" size="2606124" mtime="1647985150" />
<directory name="parallel" rev="324" vrev="1" srcmd5="5f834ad53135d661513af3f6b07fbe69">
<entry name="PKGBUILD" md5="3b4edb67df6236802be123f1061be030" size="936" mtime="1650704663" />
<entry name="parallel-20220422.tar.bz2" md5="28255a8eb5c97f21d4b4393f5da7c3a2" size="2367855" mtime="1650704663" />
<entry name="parallel.spec" md5="7046fe886aae9027018f19886eeea1bc" size="5713" mtime="1650704664" />
<entry name="parallel_20220422.dsc" md5="77c1968dd5bb3db1e4149822c61774c1" size="556" mtime="1650704664" />
<entry name="parallel_20220422.tar.gz" md5="18deb097920cd639bea5777c4a70e037" size="2620302" mtime="1650704664" />
</directory>

View file

@ -1,7 +1,7 @@
Summary: Shell tool for executing jobs in parallel
Name: parallel
Version: 20220322
Version: 20220422
Release: 1.3
License: GPL-3.0-or-later
Group: Productivity/File utilities

View file

@ -395,7 +395,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20220323 (GNU parallel `parallel --minversion 1`)"
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -397,7 +397,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20220323 (GNU parallel `parallel --minversion 1`)"
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -395,7 +395,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20220323 (GNU parallel `parallel --minversion 1`)"
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -378,7 +378,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20220323 (GNU parallel `parallel --minversion 1`)"
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -380,7 +380,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20220323 (GNU parallel `parallel --minversion 1`)"
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -395,7 +395,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20220323 (GNU parallel `parallel --minversion 1`)"
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -370,7 +370,7 @@ _parset_main() {
fi
if [ "$_parset_NAME" = "--version" ] ; then
# shellcheck disable=SC2006
echo "parset 20220323 (GNU parallel `parallel --minversion 1`)"
echo "parset 20220422 (GNU parallel `parallel --minversion 1`)"
echo "Copyright (C) 2007-2022 Ole Tange, http://ole.tange.dk and Free Software"
echo "Foundation, Inc."
echo "License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>"

View file

@ -26,7 +26,7 @@
use strict;
use Getopt::Long;
$Global::progname="niceload";
$Global::version = 20220323;
$Global::version = 20220422;
Getopt::Long::Configure("bundling","require_order");
get_options_from_array(\@ARGV) || die_usage();
if($opt::version) {

View file

@ -2597,7 +2597,7 @@ sub check_invalid_option_combinations() {
sub init_globals() {
# Defaults:
$Global::version = 20220401;
$Global::version = 20220422;
$Global::progname = 'parallel';
$::name = "GNU Parallel";
$Global::infinity = 2**31;
@ -4391,7 +4391,7 @@ sub get_job_with_sshlogin($) {
if(not $job->suspended()) {
$job->set_sshlogin($sshlogin);
}
if($opt::retries and $job->failed_here()) {
if(defined $opt::retries and $job->failed_here()) {
# This command with these args failed for this sshlogin
my ($no_of_failed_sshlogins,$min_failures) = $job->min_failed();
# Only look at the Global::host that have > 0 jobslots
@ -5025,13 +5025,13 @@ sub onall($@) {
((defined $opt::memfree) ? "--memfree ".$opt::memfree : ""),
((defined $opt::memsuspend) ? "--memfree ".$opt::memsuspend : ""),
((defined $opt::D) ? "-D $opt::D" : ""),
((defined $opt::group) ? "-g" : ""),
((defined $opt::group) ? "--group" : ""),
((defined $opt::jobs) ? "-P $opt::jobs" : ""),
((defined $opt::keeporder) ? "--keeporder" : ""),
((defined $opt::linebuffer) ? "--linebuffer" : ""),
((defined $opt::max_chars) ? "--max-chars ".$opt::max_chars : ""),
((defined $opt::plain) ? "--plain" : ""),
((defined $opt::ungroup) ? "-u" : ""),
(($opt::ungroup == 1) ? "-u" : ""),
((defined $opt::tee) ? "--tee" : ""),
);
my $suboptions =
@ -5042,7 +5042,7 @@ sub onall($@) {
((defined $opt::arg_sep) ? "--arg-sep ".$opt::arg_sep : ""),
((defined $opt::colsep) ? "--colsep ".shell_quote($opt::colsep) : ""),
((defined $opt::files) ? "--files" : ""),
((defined $opt::group) ? "-g" : ""),
((defined $opt::group) ? "--group" : ""),
((defined $opt::cleanup) ? "--cleanup" : ""),
((defined $opt::keeporder) ? "--keeporder" : ""),
((defined $opt::linebuffer) ? "--linebuffer" : ""),
@ -5051,7 +5051,7 @@ sub onall($@) {
((defined $opt::plus) ? "--plus" : ""),
((defined $opt::retries) ? "--retries ".$opt::retries : ""),
((defined $opt::timeout) ? "--timeout ".$opt::timeout : ""),
((defined $opt::ungroup) ? "-u" : ""),
(($opt::ungroup == 1) ? "-u" : ""),
((defined $opt::ssh) ? "--ssh '".$opt::ssh."'" : ""),
((defined $opt::tee) ? "--tee" : ""),
((defined $opt::workdir) ? "--wd ".Q($opt::workdir) : ""),
@ -5438,8 +5438,8 @@ sub usage() {
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
" Tange, O. (2022, March 22). GNU Parallel 20220322 ('Маріу́поль').",
" Zenodo. https://doi.org/10.5281/zenodo.6377950",
" Tange, O. (2022, April 22). GNU Parallel 20220422 ('Буча').",
" Zenodo. https://doi.org/10.5281/zenodo.6479152",
"",
# Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
@ -5471,8 +5471,8 @@ sub citation_notice() {
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
" Tange, O. (2022, March 22). GNU Parallel 20220322 ('Маріу́поль').",
" Zenodo. https://doi.org/10.5281/zenodo.6377950",
" Tange, O. (2022, April 22). GNU Parallel 20220422 ('Буча').",
" Zenodo. https://doi.org/10.5281/zenodo.6479152",
"",
# Before changing these line, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
@ -5597,20 +5597,20 @@ sub citation() {
"If you use programs that use GNU Parallel to process data for an article in a",
"scientific publication, please cite:",
"",
"\@software{tange_2022_6377950,",
"\@software{tange_2022_6479152,",
" author = {Tange, Ole},",
" title = {GNU Parallel 20220322 ('Маріу́поль')},",
" month = Mar,",
" title = {GNU Parallel 20220422 ('Буча')},",
" month = Apr,",
" year = 2021,",
" note = {{GNU Parallel is a general parallelizer to run",
" multiple serial command line programs in parallel",
" without changing them.}},",
" publisher = {Zenodo},",
" doi = {10.5281/zenodo.6377950},",
" url = {https://doi.org/10.5281/zenodo.6377950}",
" doi = {10.5281/zenodo.6479152},",
" url = {https://doi.org/10.5281/zenodo.6479152}",
"}",
"",
"(Feel free to use \\nocite{tange_2022_6377950})",
"(Feel free to use \\nocite{tange_2022_6479152})",
"",
# Before changing these lines, please read
# https://www.gnu.org/software/parallel/parallel_design.html#citation-notice and
@ -8050,19 +8050,6 @@ sub socket_core_thread() {
# 'active' => #taskset_threads = number of taskset limited cores
# }
my $cpu;
my $cached_cpuspec = $Global::cache_dir . "/tmp/sshlogin/" .
::hostname() . "/cpuspec";
if(-e $cached_cpuspec and -M $cached_cpuspec < 1) {
# Reading cached copy instead of /proc/cpuinfo is 17 ms faster
local $/ = "\n";
if(open(my $in_fh, "<", $cached_cpuspec)) {
::debug("init","Read $cached_cpuspec\n");
$cpu->{'sockets'} = int(<$in_fh>);
$cpu->{'cores'} = int(<$in_fh>);
$cpu->{'threads'} = int(<$in_fh>);
close $in_fh;
}
}
if ($^O eq 'linux') {
$cpu = sct_gnu_linux($cpu);
} elsif ($^O eq 'android') {
@ -8109,18 +8096,8 @@ sub socket_core_thread() {
|| sct_tru64($cpu)
);
}
if(not grep { $_ > 0 } values %$cpu) {
$cpu = undef;
}
# Write cached copy instead of /proc/cpuinfo is 17 ms faster
if($cpu and open(my $out_fh, ">", $cached_cpuspec)) {
print $out_fh (map { chomp; "$_\n" }
$cpu->{'sockets'},
$cpu->{'cores'},
$cpu->{'threads'});
close $out_fh;
}
if(not $cpu) {
# Fall back: Set all to nproc
my $nproc = nproc();
if($nproc) {
$cpu->{'sockets'} =
@ -9221,9 +9198,9 @@ sub set_block($$$$$$) {
my $self = shift;
my ($header_ref,$buffer_ref,$endpos,$recstart,$recend) = @_;
$self->{'header'} = $header_ref;
if($opt::roundrobin or $opt::remove_rec_sep or $opt::retries) {
if($opt::roundrobin or $opt::remove_rec_sep or defined $opt::retries) {
my $a = "";
if(($opt::roundrobin or $opt::retries) and $self->virgin()) {
if(($opt::roundrobin or defined $opt::retries) and $self->virgin()) {
$a .= $$header_ref;
}
# Job is no longer virgin
@ -10721,9 +10698,7 @@ sub should_be_retried($) {
# 0 - do not retry
# 1 - job queued for retry
my $self = shift;
if (not $opt::retries) {
return 0;
}
if (not defined $opt::retries) { return 0; }
if(not $self->exitstatus() and not $self->exitsignal()) {
# Completed with success. If there is a recorded failure: forget it
$self->reset_failed_here();
@ -10733,6 +10708,11 @@ sub should_be_retried($) {
$self->add_failed_here();
my $retries = $self->{'commandline'}->
replace_placeholders([$opt::retries],0,0);
# 0 = Inf
if($retries == 0) { $retries = 2**31; }
# Ignore files already unlinked to avoid memory leak
$self->{'unlink'} = [ grep { -e $_ } @{$self->{'unlink'}} ];
map { -e $_ or delete $Global::unlink{$_} } keys %Global::unlink;
if($self->total_failed() == $retries) {
# This has been retried enough
return 0;
@ -11264,7 +11244,7 @@ sub print_normal($) {
if($Global::parset and $fdno == 1) {
$outputlength += $self->print_parset($fdno,$in_fh,$out_fh);
} elsif($opt::tag or $opt::tagstring) {
} elsif(defined $opt::tag or defined $opt::tagstring) {
# Read line by line
local $/ = "\n";
my $tag = $self->tag();
@ -11400,7 +11380,7 @@ sub print_joblog($) {
}
my $self = shift;
if(not defined $self->{'tag'} or not $Global::cache_replacement_eval) {
if($opt::tag or defined $opt::tagstring) {
if(defined $opt::tag or defined $opt::tagstring) {
if($Global::color) {
if(not @color) { init_color() }
# Choose a value based on the seq
@ -12327,7 +12307,7 @@ sub new($) {
$opt::tagstring, $opt::workdir, $opt::results, $opt::retries,
@opt::filter) {
# Skip if undefined
$_ or next;
defined($_) or next;
# Escape \257 => \257\256
$Global::escape_string_present += s/\257/\257\256/g;
# Needs to match rightmost left parens (Perl defaults to leftmost)
@ -12548,7 +12528,7 @@ sub replacement_counts_and_lengths($$@) {
@opt::filter,
$opt::tagstring, $opt::workdir, $opt::results, $opt::retries) {
# Options that can contain replacement strings
$_ or next;
defined($_) or next;
my $t = $_;
while($t =~ s/ \257<( (?: [^\257]*|[\257][^<>] )* )\257> //xs) {
# %replacecount = { "perlexpr" => number of times seen }
@ -14509,7 +14489,7 @@ sub main() {
}
::wait_and_exit(255);
}
} elsif($opt::pipe and not $opt::pipepart) {
} elsif($opt::pipe and not $opt::pipepart and not $opt::semaphore) {
# Fill all jobslots
while(start_more_jobs()) {}
spreadstdin();

View file

@ -933,7 +933,7 @@ on B<ash>, B<bash>, B<dash>, B<ksh>, B<sh>, and B<zsh>.
=item B<--env> I<var>
Copy environment variable I<var>.
Copy exported environment variable I<var>.
This will copy I<var> to the environment that the command is run
in. This is especially useful for remote execution.
@ -2111,10 +2111,12 @@ See also: B<--memfree> B<--memsuspend>
=item B<--record-env>
Record environment.
Record exported environment.
Record current environment variables in ~/.parallel/ignored_vars. This
is useful before using B<--env _>.
Record current exported environment variables in
B<~/.parallel/ignored_vars>. This will ignore variables currently set
when using B<--env _>. So you should set the variables/fuctions, you
want to use I<after> running B<--record-env>.
See also: B<--env> B<--session> B<env_parallel>
@ -2412,6 +2414,8 @@ B<--sshlogin> GNU B<parallel> will re-use all the computers. This is
useful if some jobs fail for no apparent reason (such as network
failure).
I<n>=0 means infinite.
See also: B<--term-seq> B<--sshlogin>
@ -2685,8 +2689,13 @@ See also: B<{#}>
=item B<--session>
Record names in current environment in B<$PARALLEL_IGNORED_NAMES> and
exit. Only used with B<env_parallel>. Aliases, functions, and
variables with names in B<$PARALLEL_IGNORED_NAMES> will not be copied.
exit.
Only used with B<env_parallel>. Aliases, functions, and variables with
names in B<$PARALLEL_IGNORED_NAMES> will not be copied. So you should
set variables/function you want to use I<after> running B<--session>.
It is similar to B<--record-env>, but only for this session.
Only supported in B<Ash, Bash, Dash, Ksh, Sh, and Zsh>.
@ -4205,10 +4214,10 @@ To see the difference between file A and file B look at the file
=head2 EXAMPLE: Speeding up fast jobs
Starting a job on the local machine takes around 10 ms. This can be a
big overhead if the job takes very few ms to run. Often you can group
small jobs together using B<-X> which will make the overhead less
significant. Compare the speed of these:
Starting a job on the local machine takes around 3-10 ms. This can be
a big overhead if the job takes very few ms to run. Often you can
group small jobs together using B<-X> which will make the overhead
less significant. Compare the speed of these:
seq -w 0 9999 | parallel touch pict{}.jpg
seq -w 0 9999 | parallel -X touch pict{}.jpg
@ -4392,13 +4401,46 @@ combined in the correct order.
=head2 EXAMPLE: Parallel grep
B<grep -r> greps recursively through directories. On multicore CPUs
GNU B<parallel> can often speed this up.
B<grep -r> greps recursively through directories. GNU B<parallel> can
often speed this up.
find . -type f | parallel -k -j150% -n 1000 -m grep -H -n STRING {}
This will run 1.5 job per CPU, and give 1000 arguments to B<grep>.
There are situations where the above will be slower than B<grep -r>:
=over 2
=item *
If data is already in RAM. The overhead of starting jobs and buffering
output may outweigh the benefit of running in parallel.
=item *
If the files are big. If a file cannot be read in a single seek, the
disk may start thrashing.
=back
The speedup is caused by two factors:
=over 2
=item *
On rotating harddisks small files often require a seek for each
file. By searching for more files in parallel, the arm may pass
another wanted file on its way.
=item *
NVMe drives often perform better by having multiple command running in
parallel.
=back
=head2 EXAMPLE: Grepping n lines for m regular expressions.
@ -5863,11 +5905,11 @@ and 150 ms after that.
=head3 Job startup
Starting a job on the local machine takes around 10 ms. This can be a
big overhead if the job takes very few ms to run. Often you can group
small jobs together using B<-X> which will make the overhead less
significant. Or you can run multiple GNU B<parallel>s as described in
B<EXAMPLE: Speeding up fast jobs>.
Starting a job on the local machine takes around 3-10 ms. This can be
a big overhead if the job takes very few ms to run. Often you can
group small jobs together using B<-X> which will make the overhead
less significant. Or you can run multiple GNU B<parallel>s as
described in B<EXAMPLE: Speeding up fast jobs>.
=head3 SSH

View file

@ -91,7 +91,7 @@ The following features are in some of the comparable tools:
=item O7. Buffering on disk
=item O8. Cleanup of temporary files if killed
=item O8. No temporary files left if killed
=item O9. Test if disk runs full during run
@ -235,7 +235,7 @@ using B<-z> or B<-Z>), B<sort> (requires using B<-z>).
GNU B<parallel>'s newline separation can be emulated with:
B<cat | xargs -d "\n" -n1 I<command>>
cat | xargs -d "\n" -n1 command
B<xargs> can run a given number of jobs in parallel, but has no
support for running number-of-cpu-cores jobs in parallel.
@ -3162,7 +3162,7 @@ Summary (see legend above):
=back
B<parallel-bash> is written in pure bash. It is really fast (overhead
of ~0.05 ms/job compared to GNU B<parallel>'s ~3 ms/job). So if your
of ~0.05 ms/job compared to GNU B<parallel>'s 3-10 ms/job). So if your
jobs are extremely short lived, and you can live with the quite
limited command, this may be useful.

View file

@ -47,6 +47,9 @@ run under Python3, Python is not an option.
Perl has the added benefit that implementing the {= perlexpr =}
replacement string was fairly easy.
The primary drawback is that Perl is slow. So there is an overhead of
3-10 ms/job and 1 ms/MB output (and even more if you use B<--tag>).
=head2 Old Perl style

View file

@ -122,7 +122,7 @@ GetOptions(
"help" => \$opt::dummy,
) || exit(255);
$Global::progname = ($0 =~ m:(^|/)([^/]+)$:)[1];
$Global::version = 20220323;
$Global::version = 20220422;
if($opt::version) { version(); exit 0; }
@Global::sortoptions = grep { ! /^-D$/ }
shell_quote(@ARGV_before[0..($#ARGV_before-$#ARGV-1)]);

View file

@ -36,6 +36,9 @@
# B<cat | xargs -d "\n" -n1 I<command>>
sub pipefunc {
# Emulate a shell pipe but between Perl functions
# stdin | func1 | func2 | ... | funcN
# pipefunc(*func1, *func2, ..., *funcN);
my $func = pop;
my $pid = open(my $kid_to_read, "-|");
@ -57,14 +60,23 @@ sub pipefunc {
}
}
sub pre {
# Remove comments
$_=join("", grep { ! /^#/ } <>);
# join lines in each paragraph
s/(\S)\n(\S)/$1 $2/g;
# quote -
s/^=item -/=item \001/gm;
print $_;
sub pre1 {
while(<STDIN>) {
# Remove comments
/^\#/ and next;
# quote -
s/^=item -/=item \001/;
print;
}
}
sub pre2 {
$/="\n\n";
while(<STDIN>) {
# join lines in each paragraph
s/(\S)\n(\S)/$1 $2/g;
print;
}
}
sub pod2rst {
@ -83,6 +95,5 @@ sub post {
}
}
# stdin | pre() | pod2rst() | post()
pipefunc(*pre,*pod2rst,*post);
# stdin | pre1() | pre2() | pod2rst() | post()
pipefunc(*pre1,*pre2,*pod2rst,*post);

View file

@ -116,6 +116,13 @@ for I<-j>. E.g. I<procfile> could contain the string 100% or +2 or
10.
=item B<--pipe> (alpha testing)
Pass stdin (standard input) to I<command>.
If I<command> read from stdin (standard input), use B<--pipe>.
=item B<--semaphorename> I<name>
=item B<--id> I<name>

View file

@ -600,7 +600,7 @@ $Global::Initfile && unlink $Global::Initfile;
exit ($err);
sub parse_options {
$Global::version = 20220323;
$Global::version = 20220422;
$Global::progname = 'sql';
# This must be done first as this may exec myself

View file

@ -19,11 +19,13 @@ export PID2=$!
sleep 2 &
export PID3=$!
echo '### multiple -p'
stdout /usr/bin/time -f %e niceload -l 9 -H -p $PID1 -p $PID2 -p $PID3 | perl -ne '$_ > 5 and print "Multiple -p OK\n"' &
stdout /usr/bin/time -f %e niceload -l 9 -H -p $PID1 -p $PID2 -p $PID3 |
perl -ne '$_ > 5 and print "Multiple -p OK\n"' &
/tmp/mysleep 4 &
/tmp/mysleep 4 &
/tmp/mysleep 4 &
echo '### --prg'
stdout /usr/bin/time -f %e niceload -l 8 -H --prg /tmp/mysleep | perl -ne '$_ > 8 and print "--prg OK\n"'
stdout /usr/bin/time -f %e niceload -l 8 -H --prg /tmp/mysleep |
perl -ne '$_ > 8 and print "--prg OK\n"'
rm /tmp/mysleep

View file

@ -877,10 +877,14 @@ par_results_json() {
par_testquote() {
testquote() {
printf '"#&/\n()*=?'"'" |
PARALLEL_SHELL=$1 parallel -0 echo
PARALLEL_SHELL="$1" parallel -0 echo
}
export -f testquote
parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rc rzsh sash sh static-sh tcsh yash zsh
# "sash script" does not work
# "sash -f script" does, but is currently not supported by GNU Parallel
# "fdsh" is currently not supported by GNU Parallel:
# It gives ioctl(): Interrupted system call
parallel --tag -k testquote ::: ash bash csh dash fdsh fish fizsh ksh ksh93 mksh posh rbash rc rzsh "sash -f" sh static-sh tcsh yash zsh
}
par_locale_quoting() {

View file

@ -43,11 +43,11 @@ par_compute_command_len() {
}
par_skip_first_line() {
tmpdir=$(mktemp)
tmp=$(mktemp)
(echo `seq 10000`;echo MyHeader; seq 10) |
parallel -k --skip-first-line --pipe --block 10 --header '1' cat
(echo `seq 10000`;echo MyHeader; seq 10) > "$tmpdir"
parallel -k --skip-first-line --pipepart -a "$tmpdir" --block 10 --header '1' cat
(echo `seq 10000`;echo MyHeader; seq 10) > "$tmp"
parallel -k --skip-first-line --pipepart -a "$tmp" --block 10 --header '1' cat
}
par_long_input() {

View file

@ -8,6 +8,15 @@
# Each should be taking 3-10s and be possible to run in parallel
# I.e.: No race conditions, no logins
par_retries_0() {
echo '--retries 0 = inf'
echo this wraps at 256 and should retry until it wraps
tmp=$(mktemp)
parallel --retries 0 -u 'printf {} >> '$tmp';a=`stat -c %s '$tmp'`; echo -n " $a"; exit $a' ::: a
echo
rm -f $tmp
}
par_prefix_for_L_n_N_s() {
echo Must give xxx000 args
seq 10000 | parallel -N 1k 'echo {} | wc -w' | sort
@ -281,7 +290,7 @@ par_tee_with_premature_close() {
correct="$(seq 1000000 | parallel -k --tee --pipe ::: wc head tail 'sleep 1')"
echo "$correct"
echo 'tee without --output-error=warn-nopipe support'
mkdir -p tmp
tmpdir=$(mktemp)
cat > tmp/tee <<-EOF
#!/usr/bin/perl

View file

@ -90,9 +90,10 @@ EOF
par_header_in_return() {
echo '### bug #45907: --header : + --return {header}'
rm returnfile45907
rm -f returnfile45907
parallel --header : -S parallel@lo --return {G} --cleanup echo {G} '>' {G} ::: G returnfile45907
ls returnfile45907
rm -f returnfile45907
}
par_trc_with_space() {

View file

@ -156,7 +156,7 @@ par_big_var_func_name() {
for a in `seq 10`; do eval "export a$big$a=1" ; done
for a in `seq 10`; do eval "a$big$a() { 1; }" ; done
for a in `seq 10`; do eval export -f a$big$a ; done
gen 80000 | stdout parallel --load 4 -Xkj1 'pecho {} {} {} {} | wc' |
gen 80000 | stdout parallel --load 4 -Xkj1 'pecho {} {} {} {} | wc -c' |
perl -pe 's/\d{10,}.\d+ //g'
}

View file

@ -99,7 +99,7 @@ doit() {
echo '### Copy commands to servers'
# Dont copy stdout - it depends on /bin/bash
env_parallel -vj$MAXPROC $RET_TIME_K --delay 0.03 --tag copy {2} {1} {1/} \
env_parallel -j$MAXPROC $RET_TIME_K --delay 0.03 --tag copy {2} {1} {1/} \
::: bin/{parallel,env_parallel,env_parallel.*[^~],parcat} \
::: $POLAR minix
echo Done copying
@ -210,7 +210,7 @@ EOF
env_parallel -u -S$MASTER doit ::: 1|
perl -pe 's:/home/(t/)?tange:~:g' |
perl -pe 's:/tmp/par\w+:/tmp/parScript:g'
perl -pe 's:par-job-\d+_\w+:parScript:g'
# eval 'myfunc() { echo '$(perl -e 'print "x"x20000')'; }'
# env_parallel myfunc ::: a | wc # OK

View file

@ -1,5 +1,4 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2021-2022 Ole Tange, http://ole.tange.dk and Free Software and Foundation, Inc.
#
# SPDX-License-Identifier: GPL-3.0-or-later
@ -102,7 +101,8 @@ perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' ../../src/
s/doi.*=.*//;
s/url.*= .*doi.org.*//;
s/.Feel free to use .nocite.*//;
s:^/tmp/par.*(.) my_func2:script$1 my_func2:;
s:/tmp/parallel-tutorial-tmpdir/par-job-\S+:script:g;
s:/tmp/par-job-\S+:script:g;
' | uniq
# 3+3 .par files (from --files), 1 .tms-file from tmux attach
find {$TMPDIR,/var/tmp,/tmp}/{fif,tms,par[^a]}* -mmin -10 2>/dev/null | wc -l

View file

@ -614,6 +614,9 @@ par_replacement_slashslash /a/b /a/b/c.jpg
par_replacement_slashslash . ./a.jpg
par_replacement_slashslash ./a ./a/b.jpg
par_replacement_slashslash ./a/b ./a/b/c.jpg
par_retries_0 --retries 0 = inf
par_retries_0 this wraps at 256 and should retry until it wraps
par_retries_0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
par_shebang ### Test different shebangs
par_shebang gp A
par_shebang gp B

View file

@ -276,9 +276,109 @@ par_empty $MYSQL ERROR 1146 (42S02) at line 1: Table 'tange.TBL99999' doesn't ex
par_empty $PG p_wrapper par_empty '$PG'
par_empty $PG Exit=0
par_empty $PG Exit=0
par_empty $PG ERROR: relation "TBL99999" does not exist
par_empty $PG LINE 1: select Host,Command,V1,V2,Stdout,Stderr from TBL99999 order
par_empty $PG ^
par_empty $PG host| command | v1 | v2 | stdout | stderr
par_empty $PG hostname| sleep .3;echo 1 a | 1 | a | 1 a +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 1 b | 1 | b | 1 b +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 1 c | 1 | c | 1 c +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 1 d | 1 | d | 1 d +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 1 e | 1 | e | 1 e +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 2 a | 2 | a | 2 a +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 2 b | 2 | b | 2 b +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 2 c | 2 | c | 2 c +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 2 d | 2 | d | 2 d +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 2 e | 2 | e | 2 e +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 3 a | 3 | a | 3 a +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 3 b | 3 | b | 3 b +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 3 c | 3 | c | 3 c +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 3 d | 3 | d | 3 d +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 3 e | 3 | e | 3 e +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 4 a | 4 | a | 4 a +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 4 b | 4 | b | 4 b +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 4 c | 4 | c | 4 c +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 4 d | 4 | d | 4 d +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 4 e | 4 | e | 4 e +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 5 a | 5 | a | 5 a +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 5 b | 5 | b | 5 b +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 5 c | 5 | c | 5 c +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 5 d | 5 | d | 5 d +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 5 e | 5 | e | 5 e +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 11 A | 11 | A | 11 A +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 11 B | 11 | B | 11 B +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 11 C | 11 | C | 11 C +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 11 D | 11 | D | 11 D +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 11 E | 11 | E | 11 E +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 12 A | 12 | A | 12 A +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 12 B | 12 | B | 12 B +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 12 C | 12 | C | 12 C +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 12 D | 12 | D | 12 D +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 12 E | 12 | E | 12 E +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 13 A | 13 | A | 13 A +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 13 B | 13 | B | 13 B +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 13 C | 13 | C | 13 C +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 13 D | 13 | D | 13 D +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 13 E | 13 | E | 13 E +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 14 A | 14 | A | 14 A +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 14 B | 14 | B | 14 B +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 14 C | 14 | C | 14 C +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 14 D | 14 | D | 14 D +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 14 E | 14 | E | 14 E +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 15 A | 15 | A | 15 A +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 15 B | 15 | B | 15 B +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 15 C | 15 | C | 15 C +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 15 D | 15 | D | 15 D +|
par_empty $PG | | | | |
par_empty $PG hostname| sleep .3;echo 15 E | 15 | E | 15 E +|
par_empty $PG | | | | |
par_empty $PG (50 rows)
par_empty $PG
par_empty $SQLITE p_wrapper par_empty '$SQLITE'
par_empty $SQLITE Exit=0
par_empty $SQLITE Exit=0

View file

@ -9,23 +9,23 @@ par_big_func_name 19XXX
par_big_func_name 19XXX
par_big_func_name 19XXX
par_big_func_name 2XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 816 19XXX
par_big_var_func_name 1 280 6XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 19XXX
par_big_var_func_name 8XXX
par_many_args 1 3XXX 6XXX
par_many_args 1 3XXX 6XXX
par_many_args 1 3XXX 6XXX
@ -33,35 +33,36 @@ par_many_args 1 3XXX 6XXX
par_many_args 1 3XXX 6XXX
par_many_args 1 3XXX 6XXX
par_many_args 1 1XXX 2XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 232 5XXX
par_many_func 1 172 4XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 228 5XXX
par_many_func 1 56 1XXX
par_many_var 1 980 23XXX
par_many_var 1 980 23XXX
par_many_var 1 980 23XXX

View file

@ -14,370 +14,6 @@ MAXTIME=50 RETRIES=3 MAXPROC=84 MAXINNERPROC=3
< beaglebone
< cubieboard2
### Copy commands to servers
bin/parallel qnx copy qnx bin/parallel parallel
bin/parallel pidora copy pidora bin/parallel parallel
bin/parallel tru64 copy tru64 bin/parallel parallel
bin/parallel hpux-ia64 copy hpux-ia64 bin/parallel parallel
bin/parallel raspbian copy raspbian bin/parallel parallel
bin/parallel solaris copy solaris bin/parallel parallel
bin/parallel openindiana copy openindiana bin/parallel parallel
bin/parallel aix copy aix bin/parallel parallel
bin/parallel hpux copy hpux bin/parallel parallel
bin/parallel debian-ppc copy debian-ppc bin/parallel parallel
bin/parallel suse copy suse bin/parallel parallel
bin/parallel solaris-x86 copy solaris-x86 bin/parallel parallel
bin/parallel mandriva copy mandriva bin/parallel parallel
bin/parallel ubuntu copy ubuntu bin/parallel parallel
bin/parallel scosysv copy scosysv bin/parallel parallel
bin/parallel unixware copy unixware bin/parallel parallel
bin/parallel centos copy centos bin/parallel parallel
bin/parallel miros copy miros bin/parallel parallel
bin/parallel macosx copy macosx bin/parallel parallel
bin/parallel redhat copy redhat bin/parallel parallel
bin/parallel netbsd copy netbsd bin/parallel parallel
bin/parallel openbsd copy openbsd bin/parallel parallel
bin/parallel freebsd copy freebsd bin/parallel parallel
bin/parallel debian copy debian bin/parallel parallel
bin/parallel hurd copy hurd bin/parallel parallel
bin/parallel minix copy minix bin/parallel parallel
bin/env_parallel qnx copy qnx bin/env_parallel env_parallel
bin/env_parallel pidora copy pidora bin/env_parallel env_parallel
bin/env_parallel tru64 copy tru64 bin/env_parallel env_parallel
bin/env_parallel hpux-ia64 copy hpux-ia64 bin/env_parallel env_parallel
bin/env_parallel raspbian copy raspbian bin/env_parallel env_parallel
bin/env_parallel solaris copy solaris bin/env_parallel env_parallel
bin/env_parallel openindiana copy openindiana bin/env_parallel env_parallel
bin/env_parallel aix copy aix bin/env_parallel env_parallel
bin/env_parallel hpux copy hpux bin/env_parallel env_parallel
bin/env_parallel debian-ppc copy debian-ppc bin/env_parallel env_parallel
bin/env_parallel suse copy suse bin/env_parallel env_parallel
bin/env_parallel solaris-x86 copy solaris-x86 bin/env_parallel env_parallel
bin/env_parallel mandriva copy mandriva bin/env_parallel env_parallel
bin/env_parallel ubuntu copy ubuntu bin/env_parallel env_parallel
bin/env_parallel scosysv copy scosysv bin/env_parallel env_parallel
bin/env_parallel unixware copy unixware bin/env_parallel env_parallel
bin/env_parallel centos copy centos bin/env_parallel env_parallel
bin/env_parallel miros copy miros bin/env_parallel env_parallel
bin/env_parallel macosx copy macosx bin/env_parallel env_parallel
bin/env_parallel redhat copy redhat bin/env_parallel env_parallel
bin/env_parallel netbsd copy netbsd bin/env_parallel env_parallel
bin/env_parallel openbsd copy openbsd bin/env_parallel env_parallel
bin/env_parallel freebsd copy freebsd bin/env_parallel env_parallel
bin/env_parallel debian copy debian bin/env_parallel env_parallel
bin/env_parallel hurd copy hurd bin/env_parallel env_parallel
bin/env_parallel minix copy minix bin/env_parallel env_parallel
bin/env_parallel.ash qnx copy qnx bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash pidora copy pidora bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash tru64 copy tru64 bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash hpux-ia64 copy hpux-ia64 bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash raspbian copy raspbian bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash solaris copy solaris bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash openindiana copy openindiana bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash aix copy aix bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash hpux copy hpux bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash debian-ppc copy debian-ppc bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash suse copy suse bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash solaris-x86 copy solaris-x86 bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash mandriva copy mandriva bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash ubuntu copy ubuntu bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash scosysv copy scosysv bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash unixware copy unixware bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash centos copy centos bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash miros copy miros bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash macosx copy macosx bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash redhat copy redhat bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash netbsd copy netbsd bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash openbsd copy openbsd bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash freebsd copy freebsd bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash debian copy debian bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash hurd copy hurd bin/env_parallel.ash env_parallel.ash
bin/env_parallel.ash minix copy minix bin/env_parallel.ash env_parallel.ash
bin/env_parallel.bash qnx copy qnx bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash pidora copy pidora bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash tru64 copy tru64 bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash hpux-ia64 copy hpux-ia64 bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash raspbian copy raspbian bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash solaris copy solaris bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash openindiana copy openindiana bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash aix copy aix bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash hpux copy hpux bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash debian-ppc copy debian-ppc bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash suse copy suse bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash solaris-x86 copy solaris-x86 bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash mandriva copy mandriva bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash ubuntu copy ubuntu bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash scosysv copy scosysv bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash unixware copy unixware bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash centos copy centos bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash miros copy miros bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash macosx copy macosx bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash redhat copy redhat bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash netbsd copy netbsd bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash openbsd copy openbsd bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash freebsd copy freebsd bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash debian copy debian bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash hurd copy hurd bin/env_parallel.bash env_parallel.bash
bin/env_parallel.bash minix copy minix bin/env_parallel.bash env_parallel.bash
bin/env_parallel.csh qnx copy qnx bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh pidora copy pidora bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh tru64 copy tru64 bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh hpux-ia64 copy hpux-ia64 bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh raspbian copy raspbian bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh solaris copy solaris bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh openindiana copy openindiana bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh aix copy aix bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh hpux copy hpux bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh debian-ppc copy debian-ppc bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh suse copy suse bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh solaris-x86 copy solaris-x86 bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh mandriva copy mandriva bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh ubuntu copy ubuntu bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh scosysv copy scosysv bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh unixware copy unixware bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh centos copy centos bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh miros copy miros bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh macosx copy macosx bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh redhat copy redhat bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh netbsd copy netbsd bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh openbsd copy openbsd bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh freebsd copy freebsd bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh debian copy debian bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh hurd copy hurd bin/env_parallel.csh env_parallel.csh
bin/env_parallel.csh minix copy minix bin/env_parallel.csh env_parallel.csh
bin/env_parallel.dash qnx copy qnx bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash pidora copy pidora bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash tru64 copy tru64 bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash hpux-ia64 copy hpux-ia64 bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash raspbian copy raspbian bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash solaris copy solaris bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash openindiana copy openindiana bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash aix copy aix bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash hpux copy hpux bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash debian-ppc copy debian-ppc bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash suse copy suse bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash solaris-x86 copy solaris-x86 bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash mandriva copy mandriva bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash ubuntu copy ubuntu bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash scosysv copy scosysv bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash unixware copy unixware bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash centos copy centos bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash miros copy miros bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash macosx copy macosx bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash redhat copy redhat bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash netbsd copy netbsd bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash openbsd copy openbsd bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash freebsd copy freebsd bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash debian copy debian bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash hurd copy hurd bin/env_parallel.dash env_parallel.dash
bin/env_parallel.dash minix copy minix bin/env_parallel.dash env_parallel.dash
bin/env_parallel.fish qnx copy qnx bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish pidora copy pidora bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish tru64 copy tru64 bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish hpux-ia64 copy hpux-ia64 bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish raspbian copy raspbian bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish solaris copy solaris bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish openindiana copy openindiana bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish aix copy aix bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish hpux copy hpux bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish debian-ppc copy debian-ppc bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish suse copy suse bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish solaris-x86 copy solaris-x86 bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish mandriva copy mandriva bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish ubuntu copy ubuntu bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish scosysv copy scosysv bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish unixware copy unixware bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish centos copy centos bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish miros copy miros bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish macosx copy macosx bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish redhat copy redhat bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish netbsd copy netbsd bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish openbsd copy openbsd bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish freebsd copy freebsd bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish debian copy debian bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish hurd copy hurd bin/env_parallel.fish env_parallel.fish
bin/env_parallel.fish minix copy minix bin/env_parallel.fish env_parallel.fish
bin/env_parallel.ksh qnx copy qnx bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh pidora copy pidora bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh tru64 copy tru64 bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh hpux-ia64 copy hpux-ia64 bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh raspbian copy raspbian bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh solaris copy solaris bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh openindiana copy openindiana bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh aix copy aix bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh hpux copy hpux bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh debian-ppc copy debian-ppc bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh suse copy suse bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh solaris-x86 copy solaris-x86 bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh mandriva copy mandriva bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh ubuntu copy ubuntu bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh scosysv copy scosysv bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh unixware copy unixware bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh centos copy centos bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh miros copy miros bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh macosx copy macosx bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh redhat copy redhat bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh netbsd copy netbsd bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh openbsd copy openbsd bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh freebsd copy freebsd bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh debian copy debian bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh hurd copy hurd bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.ksh minix copy minix bin/env_parallel.ksh env_parallel.ksh
bin/env_parallel.mksh qnx copy qnx bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh pidora copy pidora bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh tru64 copy tru64 bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh hpux-ia64 copy hpux-ia64 bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh raspbian copy raspbian bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh solaris copy solaris bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh openindiana copy openindiana bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh aix copy aix bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh hpux copy hpux bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh debian-ppc copy debian-ppc bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh suse copy suse bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh solaris-x86 copy solaris-x86 bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh mandriva copy mandriva bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh ubuntu copy ubuntu bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh scosysv copy scosysv bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh unixware copy unixware bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh centos copy centos bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh miros copy miros bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh macosx copy macosx bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh redhat copy redhat bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh netbsd copy netbsd bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh openbsd copy openbsd bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh freebsd copy freebsd bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh debian copy debian bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh hurd copy hurd bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.mksh minix copy minix bin/env_parallel.mksh env_parallel.mksh
bin/env_parallel.pdksh qnx copy qnx bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh pidora copy pidora bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh tru64 copy tru64 bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh hpux-ia64 copy hpux-ia64 bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh raspbian copy raspbian bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh solaris copy solaris bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh openindiana copy openindiana bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh aix copy aix bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh hpux copy hpux bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh debian-ppc copy debian-ppc bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh suse copy suse bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh solaris-x86 copy solaris-x86 bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh mandriva copy mandriva bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh ubuntu copy ubuntu bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh scosysv copy scosysv bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh unixware copy unixware bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh centos copy centos bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh miros copy miros bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh macosx copy macosx bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh redhat copy redhat bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh netbsd copy netbsd bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh openbsd copy openbsd bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh freebsd copy freebsd bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh debian copy debian bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh hurd copy hurd bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.pdksh minix copy minix bin/env_parallel.pdksh env_parallel.pdksh
bin/env_parallel.sh qnx copy qnx bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh pidora copy pidora bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh tru64 copy tru64 bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh hpux-ia64 copy hpux-ia64 bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh raspbian copy raspbian bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh solaris copy solaris bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh openindiana copy openindiana bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh aix copy aix bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh hpux copy hpux bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh debian-ppc copy debian-ppc bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh suse copy suse bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh solaris-x86 copy solaris-x86 bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh mandriva copy mandriva bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh ubuntu copy ubuntu bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh scosysv copy scosysv bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh unixware copy unixware bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh centos copy centos bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh miros copy miros bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh macosx copy macosx bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh redhat copy redhat bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh netbsd copy netbsd bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh openbsd copy openbsd bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh freebsd copy freebsd bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh debian copy debian bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh hurd copy hurd bin/env_parallel.sh env_parallel.sh
bin/env_parallel.sh minix copy minix bin/env_parallel.sh env_parallel.sh
bin/env_parallel.tcsh qnx copy qnx bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh pidora copy pidora bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh tru64 copy tru64 bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh hpux-ia64 copy hpux-ia64 bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh raspbian copy raspbian bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh solaris copy solaris bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh openindiana copy openindiana bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh aix copy aix bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh hpux copy hpux bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh debian-ppc copy debian-ppc bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh suse copy suse bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh solaris-x86 copy solaris-x86 bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh mandriva copy mandriva bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh ubuntu copy ubuntu bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh scosysv copy scosysv bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh unixware copy unixware bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh centos copy centos bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh miros copy miros bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh macosx copy macosx bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh redhat copy redhat bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh netbsd copy netbsd bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh openbsd copy openbsd bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh freebsd copy freebsd bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh debian copy debian bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh hurd copy hurd bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.tcsh minix copy minix bin/env_parallel.tcsh env_parallel.tcsh
bin/env_parallel.zsh qnx copy qnx bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh pidora copy pidora bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh tru64 copy tru64 bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh hpux-ia64 copy hpux-ia64 bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh raspbian copy raspbian bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh solaris copy solaris bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh openindiana copy openindiana bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh aix copy aix bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh hpux copy hpux bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh debian-ppc copy debian-ppc bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh suse copy suse bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh solaris-x86 copy solaris-x86 bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh mandriva copy mandriva bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh ubuntu copy ubuntu bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh scosysv copy scosysv bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh unixware copy unixware bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh centos copy centos bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh miros copy miros bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh macosx copy macosx bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh redhat copy redhat bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh netbsd copy netbsd bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh openbsd copy openbsd bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh freebsd copy freebsd bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh debian copy debian bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh hurd copy hurd bin/env_parallel.zsh env_parallel.zsh
bin/env_parallel.zsh minix copy minix bin/env_parallel.zsh env_parallel.zsh
bin/parcat qnx copy qnx bin/parcat parcat
bin/parcat pidora copy pidora bin/parcat parcat
bin/parcat tru64 copy tru64 bin/parcat parcat
bin/parcat hpux-ia64 copy hpux-ia64 bin/parcat parcat
bin/parcat raspbian copy raspbian bin/parcat parcat
bin/parcat solaris copy solaris bin/parcat parcat
bin/parcat openindiana copy openindiana bin/parcat parcat
bin/parcat aix copy aix bin/parcat parcat
bin/parcat hpux copy hpux bin/parcat parcat
bin/parcat debian-ppc copy debian-ppc bin/parcat parcat
bin/parcat suse copy suse bin/parcat parcat
bin/parcat solaris-x86 copy solaris-x86 bin/parcat parcat
bin/parcat mandriva copy mandriva bin/parcat parcat
bin/parcat ubuntu copy ubuntu bin/parcat parcat
bin/parcat scosysv copy scosysv bin/parcat parcat
bin/parcat unixware copy unixware bin/parcat parcat
bin/parcat centos copy centos bin/parcat parcat
bin/parcat miros copy miros bin/parcat parcat
bin/parcat macosx copy macosx bin/parcat parcat
bin/parcat redhat copy redhat bin/parcat parcat
bin/parcat netbsd copy netbsd bin/parcat parcat
bin/parcat openbsd copy openbsd bin/parcat parcat
bin/parcat freebsd copy freebsd bin/parcat parcat
bin/parcat debian copy debian bin/parcat parcat
bin/parcat hurd copy hurd bin/parcat parcat
bin/parcat minix copy minix bin/parcat parcat
Done copying
echo
@ -413,7 +49,7 @@ suse Works on suse
tru64 Works on tru64.polarhome.com
ubuntu Works on ubuntu
unixware Works on unixware.polarhome.com
unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware UX:sh (parScript): ERROR: source: Not found
echo
echo '### --number-of-cores/--number-of-cpus should work with no error'
echo
@ -474,7 +110,7 @@ ubuntu 1
ubuntu 2
unixware 1
unixware 1
unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware UX:sh (parScript): ERROR: source: Not found
debian 2
debian 2
debian-ppc 1
@ -525,7 +161,7 @@ ubuntu 2
ubuntu 2
unixware 1
unixware 1
unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware UX:sh (parScript): ERROR: source: Not found
echo
echo '### Fails if tmpdir is R/O'
echo
@ -593,7 +229,7 @@ ubuntu Error in tempfile() using template /XXXXXXXX.arg: Could not create temp f
ubuntu OK readonly tmp
unixware Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at ~/bin/parallel line 0000
unixware OK readonly tmp
unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware UX:sh (parScript): ERROR: source: Not found
echo
echo '### Does exporting a bash function make parallel fail?'
echo 'If login shell is not bash compatible it fails'
@ -663,8 +299,8 @@ tru64 bash only A
tru64 test funcA
ubuntu bash only A
ubuntu test funcA
unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 4: `(' unexpected
unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware UX:sh (parScript): ERROR: /tmp/parScript: Syntax error at line 4: `(' unexpected
unixware UX:sh (parScript): ERROR: source: Not found
unixware test funcA
echo
echo '### Does PARALLEL_SHELL help exporting a bash function'
@ -1036,7 +672,7 @@ unixware ~/.profile
unixware ~/.cshrc
unixware ~/.tcshrc
unixware install-OK
unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware UX:sh (parScript): ERROR: source: Not found
echo
echo '### env_parallel echo env_parallel ::: run-OK'
echo '(bash ksh mksh zsh only)'
@ -1076,8 +712,8 @@ solaris-x86 env_parallel run-OK
suse env_parallel run-OK
tru64 env_parallel run-OK
ubuntu env_parallel run-OK
unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware env_parallel run-OK
unixware UX:sh (parScript): ERROR: source: Not found
echo
echo '### env_parallel echo reading from process substitution :::: <(echo OK)'
echo '(bash ksh mksh zsh only)'
@ -1116,7 +752,7 @@ solaris-x86 reading from process substitution OK
suse reading from process substitution OK
tru64 reading from process substitution OK
ubuntu reading from process substitution OK
unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 2: `(' unexpected
unixware UX:sh (parScript): ERROR: /tmp/parScript: Syntax error at line 2: `(' unexpected
echo
echo '### Test empty command name in process list'
echo '(bash ksh mksh zsh only)'
@ -1204,7 +840,7 @@ aix 1 2 1 2 3 1 2 3 4
centos 1 2 1 2 3 1 2 3 4
debian 1 2 1 2 3 1 2 3 4
debian-ppc 1 2 1 2 3 1 2 3 4
freebsd eval: 1: Syntax error: Bad function name
freebsd eval: 1: Syntax error: word unexpected (expecting ")")
hurd 1 2 1 2 3 1 2 3 4
hpux
hpux-ia64 1 2 1 2 3 1 2 3 4
@ -1228,8 +864,9 @@ solaris-x86 1 2 1 2 3 1 2 3 4
suse 1 2 1 2 3 1 2 3 4
tru64 1 2 1 2 3 1 2 3 4
ubuntu 1 2 1 2 3 1 2 3 4
unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 1: `arr=' unexpected
unixware UX:sh (parScript): ERROR: source: Not found
unixware UX:sh (parScript): ERROR: typeset: Not found
unixware UX:sh (parScript): ERROR: /tmp/parScript: Syntax error at line 1: `arr=' unexpected
### env_parset arr seq ::: 2 3 4
aix 2 2 3 2 3 4
centos 2 2 3 2 3 4
@ -1266,8 +903,9 @@ solaris-x86 2 2 3 2 3 4
suse 2 2 3 2 3 4
tru64 2 2 3 2 3 4
ubuntu 2 2 3 2 3 4
unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware UX:sh (/tmp/parScript): ERROR: /tmp/parScript: Syntax error at line 1: `arr=' unexpected
unixware UX:sh (parScript): ERROR: source: Not found
unixware UX:sh (parScript): ERROR: typeset: Not found
unixware UX:sh (parScript): ERROR: /tmp/parScript: Syntax error at line 1: `arr=' unexpected
echo
echo '### parset var1,var2,var3 seq ::: 2 3 4'
echo '(bash ksh mksh zsh ash dash only)'
@ -1308,7 +946,8 @@ suse 1 2,1 2 3,1 2 3 4
tru64 1 2,1 2 3,1 2 3 4
ubuntu 1 2,1 2 3,1 2 3 4
unixware 1 2,1 2 3,1 2 3 4
unixware UX:sh (/tmp/parScript): ERROR: source: Not found
unixware UX:sh (parScript): ERROR: source: Not found
unixware UX:sh (parScript): ERROR: typeset: Not found
### env_parset var1,var2,var3 seq ::: 2 3 4
aix 2,2 3,2 3 4
centos 2,2 3,2 3 4
@ -1344,3 +983,5 @@ suse 2,2 3,2 3 4
tru64 2,2 3,2 3 4
ubuntu 2,2 3,2 3 4
unixware 2,2 3,2 3 4
unixware UX:sh (parScript): ERROR: source: Not found
unixware UX:sh (parScript): ERROR: typeset: Not found

View file

@ -788,7 +788,7 @@ withpassword
VAR=foo
export VAR
parallel --env _ -S $SERVER1 'echo $VAR; my_func2' ::: bar
script: my_func2: command not found
script line 2: my_func2: command not found
NOT='not exported var'
alias myecho=echo
not_ex() {