mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 05:57:54 +00:00
parset: Now a copy of env_parallel.
This commit is contained in:
parent
6657e056f2
commit
e6339f4512
12
README
12
README
|
@ -44,9 +44,9 @@ document.
|
||||||
|
|
||||||
Full installation of GNU Parallel is as simple as:
|
Full installation of GNU Parallel is as simple as:
|
||||||
|
|
||||||
wget https://ftpmirror.gnu.org/parallel/parallel-20180122.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20180222.tar.bz2
|
||||||
bzip2 -dc parallel-20180122.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20180222.tar.bz2 | tar xvf -
|
||||||
cd parallel-20180122
|
cd parallel-20180222
|
||||||
./configure && make && sudo make install
|
./configure && make && sudo make install
|
||||||
|
|
||||||
|
|
||||||
|
@ -55,9 +55,9 @@ Full installation of GNU Parallel is as simple as:
|
||||||
If you are not root you can add ~/bin to your path and install in
|
If you are not root you can add ~/bin to your path and install in
|
||||||
~/bin and ~/share:
|
~/bin and ~/share:
|
||||||
|
|
||||||
wget https://ftpmirror.gnu.org/parallel/parallel-20180122.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20180222.tar.bz2
|
||||||
bzip2 -dc parallel-20180122.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20180222.tar.bz2 | tar xvf -
|
||||||
cd parallel-20180122
|
cd parallel-20180222
|
||||||
./configure --prefix=$HOME && make && make install
|
./configure --prefix=$HOME && make && make install
|
||||||
|
|
||||||
Or if your system lacks 'make' you can simply copy src/parallel
|
Or if your system lacks 'make' you can simply copy src/parallel
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
AC_INIT([parallel], [20180122], [bug-parallel@gnu.org])
|
AC_INIT([parallel], [20180222], [bug-parallel@gnu.org])
|
||||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
|
|
|
@ -199,9 +199,9 @@ to:parallel@gnu.org, bug-parallel@gnu.org
|
||||||
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
||||||
|
|
||||||
|
|
||||||
Subject: GNU Parallel 20180222 ('') released <<[stable]>>
|
Subject: GNU Parallel 20180222 ('Henrik') released <<[stable]>>
|
||||||
|
|
||||||
GNU Parallel 20180222 ('') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
GNU Parallel 20180222 ('Henrik') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
||||||
|
|
||||||
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
<<No new functionality was introduced so this is a good candidate for a stable release.>>
|
||||||
|
|
||||||
|
@ -210,9 +210,19 @@ Quote of the month:
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
* https://mike42.me/blog/tag/fedora
|
* --embed makes it possible to embed GNU parallel in a shell script. This is useful if you need to distribute your script to someone who does not want to install GNU parallel.
|
||||||
|
|
||||||
* https://www.datascienceatthecommandline.com/
|
* Parallelize Your Large Batches of Small Jobs https://amito.me/2018/02/Parallelize-Your-Large-Batches-of-Small-Jobs/
|
||||||
|
|
||||||
|
* Klaatu expounds upon xargs and talks GNU parallel in episode 12x6 http://gnuworldorder.info/
|
||||||
|
|
||||||
|
* How to use parallel to speed up your work https://mike42.me/blog/how-to-use-parallel-to-speed-up-your-work
|
||||||
|
|
||||||
|
* Transient compute clustering with GNU Parallel and sshfs https://dennismungai.wordpress.com/2018/02/06/transient-compute-clustering-with-gnu-parallel-and-sshfs/
|
||||||
|
|
||||||
|
* Useful Examples of ffmpeg and GNU parallel on the command-line https://dennismungai.wordpress.com/2018/02/06/useful-examples-of-ffmpeg-and-gnu-parallel-on-the-command-line/
|
||||||
|
|
||||||
|
* Data Science at the Command Line (Chapter 8.3) https://www.datascienceatthecommandline.com/
|
||||||
|
|
||||||
<<Citation not OK: BAMClipper: removing primers from alignments to minimize false-negative mutations in amplicon next-generation sequencing https://www.nature.com/articles/s41598-017-01703-6>>
|
<<Citation not OK: BAMClipper: removing primers from alignments to minimize false-negative mutations in amplicon next-generation sequencing https://www.nature.com/articles/s41598-017-01703-6>>
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
bin_SCRIPTS = parallel sql niceload parcat env_parallel \
|
bin_SCRIPTS = parallel sql niceload parcat parset env_parallel \
|
||||||
env_parallel.ash env_parallel.bash env_parallel.csh \
|
env_parallel.ash env_parallel.bash env_parallel.csh \
|
||||||
env_parallel.dash env_parallel.fish env_parallel.ksh \
|
env_parallel.dash env_parallel.fish env_parallel.ksh \
|
||||||
env_parallel.pdksh env_parallel.sh env_parallel.tcsh \
|
env_parallel.pdksh env_parallel.sh env_parallel.tcsh \
|
||||||
|
|
|
@ -229,7 +229,7 @@ target_alias = @target_alias@
|
||||||
top_build_prefix = @top_build_prefix@
|
top_build_prefix = @top_build_prefix@
|
||||||
top_builddir = @top_builddir@
|
top_builddir = @top_builddir@
|
||||||
top_srcdir = @top_srcdir@
|
top_srcdir = @top_srcdir@
|
||||||
bin_SCRIPTS = parallel sql niceload parcat env_parallel \
|
bin_SCRIPTS = parallel sql niceload parcat parset env_parallel \
|
||||||
env_parallel.ash env_parallel.bash env_parallel.csh \
|
env_parallel.ash env_parallel.bash env_parallel.csh \
|
||||||
env_parallel.dash env_parallel.fish env_parallel.ksh \
|
env_parallel.dash env_parallel.fish env_parallel.ksh \
|
||||||
env_parallel.pdksh env_parallel.sh env_parallel.tcsh \
|
env_parallel.pdksh env_parallel.sh env_parallel.tcsh \
|
||||||
|
|
|
@ -73,7 +73,7 @@ while test $# -gt 0; do
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
cat <<_EOS
|
cat <<'_EOS'
|
||||||
env_parallel only works if it is a function. Do the below and restart your shell.
|
env_parallel only works if it is a function. Do the below and restart your shell.
|
||||||
|
|
||||||
bash: Put this in $HOME/.bashrc: . `which env_parallel.bash`
|
bash: Put this in $HOME/.bashrc: . `which env_parallel.bash`
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
use strict;
|
use strict;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
$Global::progname="niceload";
|
$Global::progname="niceload";
|
||||||
$Global::version = 20180123;
|
$Global::version = 20180222;
|
||||||
Getopt::Long::Configure("bundling","require_order");
|
Getopt::Long::Configure("bundling","require_order");
|
||||||
get_options_from_array(\@ARGV) || die_usage();
|
get_options_from_array(\@ARGV) || die_usage();
|
||||||
if($opt::version) {
|
if($opt::version) {
|
||||||
|
|
37
src/parallel
37
src/parallel
|
@ -433,7 +433,7 @@ sub cat_partial {
|
||||||
sysseek(STDIN,shift,0) || die;
|
sysseek(STDIN,shift,0) || die;
|
||||||
$left = shift;
|
$left = shift;
|
||||||
while($read =
|
while($read =
|
||||||
sysread(STDIN,$buf, $left > 131072 ? 131072 : $left)){
|
sysread(STDIN,$buf, $left > 1048524 ? 1048524 : $left)){
|
||||||
$left -= $read;
|
$left -= $read;
|
||||||
syswrite(STDOUT,$buf);
|
syswrite(STDOUT,$buf);
|
||||||
}
|
}
|
||||||
|
@ -962,7 +962,7 @@ sub options_hash {
|
||||||
"seqreplace=s" => \$opt::seqreplace,
|
"seqreplace=s" => \$opt::seqreplace,
|
||||||
"slotreplace=s" => \$opt::slotreplace,
|
"slotreplace=s" => \$opt::slotreplace,
|
||||||
"jobs|j=s" => \$opt::jobs,
|
"jobs|j=s" => \$opt::jobs,
|
||||||
"delay=f" => \$opt::delay,
|
"delay=s" => \$opt::delay,
|
||||||
"sshdelay=f" => \$opt::sshdelay,
|
"sshdelay=f" => \$opt::sshdelay,
|
||||||
"load=s" => \$opt::load,
|
"load=s" => \$opt::load,
|
||||||
"noswap" => \$opt::noswap,
|
"noswap" => \$opt::noswap,
|
||||||
|
@ -1231,6 +1231,7 @@ sub parse_options {
|
||||||
# Set --delay to --sshdelay if not set
|
# Set --delay to --sshdelay if not set
|
||||||
$opt::delay = $opt::sshdelay;
|
$opt::delay = $opt::sshdelay;
|
||||||
}
|
}
|
||||||
|
$opt::delay = multiply_time_units($opt::delay);
|
||||||
if($opt::compress_program) {
|
if($opt::compress_program) {
|
||||||
$opt::compress = 1;
|
$opt::compress = 1;
|
||||||
$opt::decompress_program ||= $opt::compress_program." -dc";
|
$opt::decompress_program ||= $opt::compress_program." -dc";
|
||||||
|
@ -1416,7 +1417,7 @@ sub check_invalid_option_combinations {
|
||||||
|
|
||||||
sub init_globals {
|
sub init_globals {
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20180123;
|
$Global::version = 20180222;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
$Global::debug = 0;
|
$Global::debug = 0;
|
||||||
|
@ -4563,6 +4564,27 @@ sub multiply_binary_prefix {
|
||||||
return wantarray ? @v : $v[0];
|
return wantarray ? @v : $v[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub multiply_time_units {
|
||||||
|
# Evalualte numbers with time units
|
||||||
|
# s=1, m=60, h=3600, d=86400
|
||||||
|
# Input:
|
||||||
|
# $s = string time units
|
||||||
|
# Returns:
|
||||||
|
# $value = int in seconds
|
||||||
|
my @v = @_;
|
||||||
|
for(@v) {
|
||||||
|
defined $_ or next;
|
||||||
|
if(/[dhms]/i) {
|
||||||
|
s/s/*1+/gi;
|
||||||
|
s/m/*60+/gi;
|
||||||
|
s/h/*3600+/gi;
|
||||||
|
s/d/*86400+/gi;
|
||||||
|
$_ = eval $_."0";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return wantarray ? @v : $v[0];
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
my ($disk_full_fh, $b8193, $error_printed);
|
my ($disk_full_fh, $b8193, $error_printed);
|
||||||
sub exit_if_disk_full {
|
sub exit_if_disk_full {
|
||||||
|
@ -10970,13 +10992,8 @@ sub new {
|
||||||
$pct = $1/100;
|
$pct = $1/100;
|
||||||
$delta_time = 1_000_000;
|
$delta_time = 1_000_000;
|
||||||
}
|
}
|
||||||
if($delta_time =~ /[dhms]/i) {
|
$delta_time = ::multiply_time_units($delta_time);
|
||||||
$delta_time =~ s/s/*1+/gi;
|
|
||||||
$delta_time =~ s/m/*60+/gi;
|
|
||||||
$delta_time =~ s/h/*3600+/gi;
|
|
||||||
$delta_time =~ s/d/*86400+/gi;
|
|
||||||
$delta_time = eval $delta_time."0";
|
|
||||||
}
|
|
||||||
return bless {
|
return bless {
|
||||||
'queue' => [],
|
'queue' => [],
|
||||||
'delta_time' => $delta_time,
|
'delta_time' => $delta_time,
|
||||||
|
|
|
@ -831,7 +831,7 @@ exit when 3% of the jobs have finished. Kill running jobs.
|
||||||
|
|
||||||
For backwards compability these also work:
|
For backwards compability these also work:
|
||||||
|
|
||||||
=over 7
|
=over 12
|
||||||
|
|
||||||
=item Z<>0
|
=item Z<>0
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ GNU B<parallel> is a Perl script in a single file. It is object
|
||||||
oriented, but contrary to normal Perl scripts each class is not in its
|
oriented, but contrary to normal Perl scripts each class is not in its
|
||||||
own file. This is due to user experience: The goal is that in a pinch
|
own file. This is due to user experience: The goal is that in a pinch
|
||||||
the user will be able to get GNU B<parallel> working simply by copying
|
the user will be able to get GNU B<parallel> working simply by copying
|
||||||
a single file: No need messing around with environment variables like
|
a single file: No need to mess around with environment variables like
|
||||||
PERL5LIB.
|
PERL5LIB.
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,6 +27,13 @@ goal of being able to run on old installations. Currently the target
|
||||||
is CentOS 3.9 and Perl 5.8.0.
|
is CentOS 3.9 and Perl 5.8.0.
|
||||||
|
|
||||||
|
|
||||||
|
=head2 Scalability up and down
|
||||||
|
|
||||||
|
The smallest system GNU B<parallel> is tested on is a 32 MB ASUS
|
||||||
|
WL500gP. The largest is a 2 TB 128-core machine. It scales up to
|
||||||
|
around 100 machines - depending on the duration of each job.
|
||||||
|
|
||||||
|
|
||||||
=head2 Exponentially back off
|
=head2 Exponentially back off
|
||||||
|
|
||||||
GNU B<parallel> busy waits. This is because the reason why a job is
|
GNU B<parallel> busy waits. This is because the reason why a job is
|
||||||
|
|
|
@ -3,8 +3,10 @@
|
||||||
=head1 GNU Parallel Tutorial
|
=head1 GNU Parallel Tutorial
|
||||||
|
|
||||||
This tutorial shows off much of GNU B<parallel>'s functionality. The
|
This tutorial shows off much of GNU B<parallel>'s functionality. The
|
||||||
tutorial is meant to learn the options in GNU B<parallel>. The tutorial
|
tutorial is meant to learn the options in and syntax of GNU
|
||||||
is not to show realistic examples from the real world.
|
B<parallel>. The tutorial is B<not> to show realistic examples from the
|
||||||
|
real world. For realistic examples see B<man parallel> in the EXAMPLE
|
||||||
|
section.
|
||||||
|
|
||||||
Spend an hour walking through the tutorial. Your command line will
|
Spend an hour walking through the tutorial. Your command line will
|
||||||
love you for it.
|
love you for it.
|
||||||
|
|
119
src/parset
119
src/parset
|
@ -1,3 +1,118 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
echo You need to: source `which env_parallel.bash`
|
# Copyright (C) 2016,2017,2018
|
||||||
|
# Ole Tange and Free Software Foundation, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
# General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, see <http://www.gnu.org/licenses/>
|
||||||
|
# or write to the Free Software Foundation, Inc., 51 Franklin St,
|
||||||
|
# Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
grepq() {
|
||||||
|
# grep -q for systems without -q
|
||||||
|
grep >/dev/null 2>/dev/null "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
installer() {
|
||||||
|
source="$1"
|
||||||
|
script="$2"
|
||||||
|
into="$3"
|
||||||
|
if grepq $script $into; then
|
||||||
|
true already installed
|
||||||
|
else
|
||||||
|
echo $source \`which $script\` >> $into
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
while test $# -gt 0; do
|
||||||
|
key="$1"
|
||||||
|
|
||||||
|
case $key in
|
||||||
|
-i|--install)
|
||||||
|
installer . env_parallel.bash $HOME/.bashrc
|
||||||
|
installer . env_parallel.sh $HOME/.shrc
|
||||||
|
installer . env_parallel.zsh $HOME/.zshenv
|
||||||
|
installer source env_parallel.ksh $HOME/.kshrc
|
||||||
|
echo $SHELL | grepq /pdksh &&
|
||||||
|
installer . env_parallel.pdksh $HOME/.profile
|
||||||
|
echo $SHELL | grepq /ash &&
|
||||||
|
installer . env_parallel.ash $HOME/.profile
|
||||||
|
echo $SHELL | grepq /dash &&
|
||||||
|
installer . env_parallel.dash $HOME/.profile
|
||||||
|
installer source env_parallel.csh $HOME/.cshrc
|
||||||
|
installer source env_parallel.tcsh $HOME/.tcshrc
|
||||||
|
mkdir -p $HOME/.config/fish
|
||||||
|
grepq env_parallel.fish $HOME/.config/fish/config.fish ||
|
||||||
|
echo '. (which env_parallel.fish)' >> $HOME/.config/fish/config.fish
|
||||||
|
echo 'Installed env_parallel in:'
|
||||||
|
echo " " $HOME/.bashrc
|
||||||
|
echo " " $HOME/.shrc
|
||||||
|
echo " " $HOME/.zshenv
|
||||||
|
echo " " $HOME/.config/fish/config.fish
|
||||||
|
echo " " $HOME/.kshrc
|
||||||
|
echo " " $HOME/.profile
|
||||||
|
echo " " $HOME/.cshrc
|
||||||
|
echo " " $HOME/.tcshrc
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown option: $key"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift # past argument or value
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
cat <<'_EOS'
|
||||||
|
parset only works if it is a function. The function is defined as part
|
||||||
|
of env_parallel.
|
||||||
|
|
||||||
|
Do the below and restart your shell.
|
||||||
|
|
||||||
|
bash: Put this in $HOME/.bashrc: . `which env_parallel.bash`
|
||||||
|
E.g. by doing: echo '. `which env_parallel.bash`' >> $HOME/.bashrc
|
||||||
|
Supports: aliases, functions, variables, arrays
|
||||||
|
|
||||||
|
zsh: Put this in $HOME/.zshrc: . `which env_parallel.zsh`
|
||||||
|
E.g. by doing: echo '. `which env_parallel.zsh`' >> $HOME/.zshenv
|
||||||
|
Supports: functions, variables, arrays
|
||||||
|
|
||||||
|
fish: Unsupported
|
||||||
|
|
||||||
|
ksh: Put this in $HOME/.kshrc: source `which env_parallel.ksh`
|
||||||
|
E.g. by doing: echo 'source `which env_parallel.ksh`' >> $HOME/.kshrc
|
||||||
|
Supports: aliases, functions, variables, arrays
|
||||||
|
|
||||||
|
pdksh: Put this in $HOME/.profile: source `which env_parallel.pdksh`
|
||||||
|
E.g. by doing: echo '. `which env_parallel.pdksh`' >> $HOME/.profile
|
||||||
|
Supports: aliases, functions, variables, arrays
|
||||||
|
|
||||||
|
ash: Put this in $HOME/.profile: . `which env_parallel.ash`
|
||||||
|
E.g. by doing: echo '. `which env_parallel.ash`' >> $HOME/.profile
|
||||||
|
Supports: aliases, variables
|
||||||
|
|
||||||
|
dash: Put this in $HOME/.profile: . `which env_parallel.dash`
|
||||||
|
E.g. by doing: echo '. `which env_parallel.dash`' >> $HOME/.profile
|
||||||
|
Supports: aliases, variables
|
||||||
|
|
||||||
|
csh: Unsupported
|
||||||
|
|
||||||
|
tcsh: Unsupported
|
||||||
|
|
||||||
|
To install in all shells run:
|
||||||
|
|
||||||
|
parset --install
|
||||||
|
|
||||||
|
For details: see man parset
|
||||||
|
|
||||||
|
_EOS
|
||||||
|
|
2
src/sql
2
src/sql
|
@ -576,7 +576,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
||||||
exit ($err);
|
exit ($err);
|
||||||
|
|
||||||
sub parse_options {
|
sub parse_options {
|
||||||
$Global::version = 20180123;
|
$Global::version = 20180222;
|
||||||
$Global::progname = 'sql';
|
$Global::progname = 'sql';
|
||||||
|
|
||||||
# This must be done first as this may exec myself
|
# This must be done first as this may exec myself
|
||||||
|
|
|
@ -292,8 +292,11 @@ par_plus_dyn_repl() {
|
||||||
|
|
||||||
par_linebuffer_tag_slow_output() {
|
par_linebuffer_tag_slow_output() {
|
||||||
echo "Test output tag with mixing halflines"
|
echo "Test output tag with mixing halflines"
|
||||||
|
halfline() {
|
||||||
parallel --delay 0.5 --tag --line-buffer ping -c 4 ::: localhost lo | field 1
|
perl -e '$| = 1; map { print $ARGV[0]; sleep(2); print "$_\n" } split //, "Half\n"' $1
|
||||||
|
}
|
||||||
|
export -f halfline
|
||||||
|
parallel --delay 1 -j0 --tag --line-buffer halfline ::: a b
|
||||||
}
|
}
|
||||||
|
|
||||||
export -f $(compgen -A function | grep par_)
|
export -f $(compgen -A function | grep par_)
|
||||||
|
|
|
@ -81,10 +81,10 @@ par_children_receive_sig() {
|
||||||
}
|
}
|
||||||
export -f show_signals
|
export -f show_signals
|
||||||
echo | stdout parallel --termseq TERM,200,TERM,100,TERM,50,KILL,25 -u \
|
echo | stdout parallel --termseq TERM,200,TERM,100,TERM,50,KILL,25 -u \
|
||||||
--timeout 1 show_signals
|
--timeout 1s show_signals
|
||||||
|
|
||||||
echo | stdout parallel --termseq INT,200,TERM,100,KILL,25 -u \
|
echo | stdout parallel --termseq INT,200,TERM,100,KILL,25 -u \
|
||||||
--timeout 1 show_signals
|
--timeout 1s show_signals
|
||||||
sleep 3
|
sleep 3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -138,16 +138,16 @@ par_keeporder_roundrobin() {
|
||||||
par_multiline_commands() {
|
par_multiline_commands() {
|
||||||
echo 'bug #50781: joblog format with multiline commands'
|
echo 'bug #50781: joblog format with multiline commands'
|
||||||
rm -f /tmp/jl.$$
|
rm -f /tmp/jl.$$
|
||||||
seq 1 3 | parallel --jl /tmp/jl.$$ --timeout 2 'sleep {}; echo {};
|
seq 1 3 | parallel --jl /tmp/jl.$$ --timeout 2s 'sleep {}; echo {};
|
||||||
echo finish {}'
|
echo finish {}'
|
||||||
seq 1 3 | parallel --jl /tmp/jl.$$ --timeout 4 --retry-failed 'sleep {}; echo {};
|
seq 1 3 | parallel --jl /tmp/jl.$$ --timeout 4s --retry-failed 'sleep {}; echo {};
|
||||||
echo finish {}'
|
echo finish {}'
|
||||||
rm -f /tmp/jl.$$
|
rm -f /tmp/jl.$$
|
||||||
}
|
}
|
||||||
|
|
||||||
par_dryrun_timeout_ungroup() {
|
par_dryrun_timeout_ungroup() {
|
||||||
echo 'bug #51039: --dry-run --timeout 3600 -u breaks'
|
echo 'bug #51039: --dry-run --timeout 1.4m -u breaks'
|
||||||
seq 1000 | stdout parallel --dry-run --timeout 100 -u --jobs 10 echo | wc
|
seq 1000 | stdout parallel --dry-run --timeout 1.4m -u --jobs 10 echo | wc
|
||||||
}
|
}
|
||||||
|
|
||||||
par_sqlworker_hostname() {
|
par_sqlworker_hostname() {
|
||||||
|
@ -213,8 +213,36 @@ par_nice() {
|
||||||
# parallel-20160422 OK
|
# parallel-20160422 OK
|
||||||
parallel --timeout 3 --nice 18 bzip2 '<' ::: /dev/zero /dev/zero &
|
parallel --timeout 3 --nice 18 bzip2 '<' ::: /dev/zero /dev/zero &
|
||||||
sleep 1
|
sleep 1
|
||||||
|
# Should find 2 lines
|
||||||
ps -eo "%c %n" | grep 18 | grep bzip2
|
ps -eo "%c %n" | grep 18 | grep bzip2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
par_delay_human_readable() {
|
||||||
|
# Test that you can use d h m s in --delay
|
||||||
|
parallel --delay 0.1s echo ::: a b c
|
||||||
|
parallel --delay 0.01m echo ::: a b c
|
||||||
|
}
|
||||||
|
|
||||||
|
par_exitval_signal() {
|
||||||
|
echo '### Test --joblog with exitval and Test --joblog with signal -- timing dependent'
|
||||||
|
rm -f /tmp/parallel_sleep
|
||||||
|
cp /bin/sleep mysleep
|
||||||
|
chmod +x mysleep
|
||||||
|
parallel --joblog /tmp/parallel_joblog_signal \
|
||||||
|
'./mysleep {}' ::: 30 2>/dev/null &
|
||||||
|
parallel --joblog /tmp/parallel_joblog_exitval \
|
||||||
|
'echo foo >/tmp/parallel_sleep; ./mysleep {} && echo sleep was not killed=BAD' ::: 30 2>/dev/null &
|
||||||
|
while [ ! -e /tmp/parallel_sleep ] ; do
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
sleep 1
|
||||||
|
killall -6 mysleep
|
||||||
|
wait
|
||||||
|
grep -q 134 /tmp/parallel_joblog_exitval && echo exitval=128+6 OK
|
||||||
|
grep -q '[^0-9]6[^0-9]' /tmp/parallel_joblog_signal && echo signal OK
|
||||||
|
|
||||||
|
rm -f /tmp/parallel_joblog_exitval /tmp/parallel_joblog_signal
|
||||||
|
}
|
||||||
|
|
||||||
export -f $(compgen -A function | grep par_)
|
export -f $(compgen -A function | grep par_)
|
||||||
compgen -A function | grep par_ | sort | parallel -j6 --tag -k '{} 2>&1'
|
compgen -A function | grep par_ | sort | parallel -j6 --tag -k '{} 2>&1'
|
||||||
|
|
|
@ -68,7 +68,7 @@ echo '### Test make .deb package';
|
||||||
stdout make | grep 'To install the GNU Parallel Debian package, run:'
|
stdout make | grep 'To install the GNU Parallel Debian package, run:'
|
||||||
|
|
||||||
echo '### Test of segfaulting issue'
|
echo '### Test of segfaulting issue'
|
||||||
echo 'This gave /home/tange/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1';
|
echo 'This gave ~/bin/stdout: line 3: 20374 Segmentation fault "$@" 2>&1';
|
||||||
echo 'before adding wait() before exit';
|
echo 'before adding wait() before exit';
|
||||||
seq 1 300 | stdout parallel ./trysegfault
|
seq 1 300 | stdout parallel ./trysegfault
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,2 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
echo '### Test --joblog with exitval and Test --joblog with signal -- timing dependent'
|
|
||||||
rm -f /tmp/parallel_sleep
|
|
||||||
parallel --joblog /tmp/parallel_joblog_signal 'sleep {}' ::: 30 2>/dev/null &
|
|
||||||
parallel --joblog /tmp/parallel_joblog_exitval 'echo foo >/tmp/parallel_sleep; sleep {} && echo sleep was not killed=BAD' ::: 30 2>/dev/null &
|
|
||||||
while [ ! -e /tmp/parallel_sleep ] ; do
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
sleep 1
|
|
||||||
killall -6 sleep
|
|
||||||
wait
|
|
||||||
grep -q 134 /tmp/parallel_joblog_exitval && echo exitval=128+6 OK
|
|
||||||
grep -q '[^0-9]6[^0-9]' /tmp/parallel_joblog_signal && echo signal OK
|
|
||||||
|
|
||||||
rm -f /tmp/parallel_joblog_exitval /tmp/parallel_joblog_signal
|
|
||||||
|
|
||||||
|
|
|
@ -255,7 +255,7 @@ pod2pdf --output-file ./parset.pdf ./parset.pod --title "GNU parset" \
|
||||||
Warning: pod2pdf not found. Using old parset.pdf
|
Warning: pod2pdf not found. Using old parset.pdf
|
||||||
make[0]: Entering directory '/tmp/parallel-00000000/src'
|
make[0]: Entering directory '/tmp/parallel-00000000/src'
|
||||||
/bin/mkdir -p '/usr/local/bin'
|
/bin/mkdir -p '/usr/local/bin'
|
||||||
/usr/bin/install -c parallel sql niceload parcat env_parallel env_parallel.ash env_parallel.bash env_parallel.csh env_parallel.dash env_parallel.fish env_parallel.ksh env_parallel.pdksh env_parallel.sh env_parallel.tcsh env_parallel.zsh '/usr/local/bin'
|
/usr/bin/install -c parallel sql niceload parcat parset env_parallel env_parallel.ash env_parallel.bash env_parallel.csh env_parallel.dash env_parallel.fish env_parallel.ksh env_parallel.pdksh env_parallel.sh env_parallel.tcsh env_parallel.zsh '/usr/local/bin'
|
||||||
make install-exec-hook
|
make install-exec-hook
|
||||||
make[0]: Entering directory '/tmp/parallel-00000000/src'
|
make[0]: Entering directory '/tmp/parallel-00000000/src'
|
||||||
rm /usr/local/bin/sem || true
|
rm /usr/local/bin/sem || true
|
||||||
|
|
|
@ -552,7 +552,7 @@ e
|
||||||
echo '### test too long args'
|
echo '### test too long args'
|
||||||
### test too long args
|
### test too long args
|
||||||
perl -e 'print "z"x1000000' | parallel echo 2>&1
|
perl -e 'print "z"x1000000' | parallel echo 2>&1
|
||||||
parallel: Error: Command line too long (1000005 >= 131049) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
parallel: Error: Command line too long (1000005 >= 131057) at input 0: zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...
|
||||||
perl -e 'print "z"x1000000' | xargs echo 2>&1
|
perl -e 'print "z"x1000000' | xargs echo 2>&1
|
||||||
xargs: argument line too long
|
xargs: argument line too long
|
||||||
(seq 1 10; perl -e 'print "z"x1000000'; seq 12 15) | stdsort parallel -j1 -km -s 10 echo
|
(seq 1 10; perl -e 'print "z"x1000000'; seq 12 15) | stdsort parallel -j1 -km -s 10 echo
|
||||||
|
@ -819,7 +819,7 @@ echo far
|
||||||
### Test --show-limits
|
### Test --show-limits
|
||||||
(echo b; echo c; echo f) | parallel -k --show-limits echo {}ar
|
(echo b; echo c; echo f) | parallel -k --show-limits echo {}ar
|
||||||
Maximal size of command: 131049
|
Maximal size of command: 131049
|
||||||
Maximal used size of command: 131049
|
Maximal used size of command: 131057
|
||||||
|
|
||||||
Execution of will continue now, and it will try to read its input
|
Execution of will continue now, and it will try to read its input
|
||||||
and run commands; if this is not what you wanted to happen, please
|
and run commands; if this is not what you wanted to happen, please
|
||||||
|
|
|
@ -45,12 +45,12 @@ par_exit_code dash parallel --halt-on-error now,done=1 "true;exit" ::: 100 100
|
||||||
par_exit_code fish /tmp/mysleep 100 137
|
par_exit_code fish /tmp/mysleep 100 137
|
||||||
par_exit_code fish parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137
|
par_exit_code fish parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137
|
||||||
par_exit_code fish parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137
|
par_exit_code fish parallel --halt-on-error now,done=1 /tmp/mysleep ::: 100 137
|
||||||
par_exit_code fish parallel --halt-on-error now,done=1 true ::: 100 1
|
par_exit_code fish parallel --halt-on-error now,done=1 true ::: 100 0
|
||||||
par_exit_code fish parallel --halt-on-error now,done=1 exit ::: 100 100
|
par_exit_code fish parallel --halt-on-error now,done=1 exit ::: 100 100
|
||||||
par_exit_code fish true;/tmp/mysleep 100 137
|
par_exit_code fish true;/tmp/mysleep 100 137
|
||||||
par_exit_code fish parallel --halt-on-error now,fail=1 "true;/tmp/mysleep" ::: 100 137
|
par_exit_code fish parallel --halt-on-error now,fail=1 "true;/tmp/mysleep" ::: 100 137
|
||||||
par_exit_code fish parallel --halt-on-error now,done=1 "true;/tmp/mysleep" ::: 100 137
|
par_exit_code fish parallel --halt-on-error now,done=1 "true;/tmp/mysleep" ::: 100 137
|
||||||
par_exit_code fish parallel --halt-on-error now,done=1 "true;true" ::: 100 1
|
par_exit_code fish parallel --halt-on-error now,done=1 "true;true" ::: 100 0
|
||||||
par_exit_code fish parallel --halt-on-error now,done=1 "true;exit" ::: 100 100
|
par_exit_code fish parallel --halt-on-error now,done=1 "true;exit" ::: 100 100
|
||||||
par_exit_code mksh /tmp/mysleep 100 0
|
par_exit_code mksh /tmp/mysleep 100 0
|
||||||
par_exit_code mksh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137
|
par_exit_code mksh parallel --halt-on-error now,fail=1 /tmp/mysleep ::: 100 137
|
||||||
|
|
|
@ -7,7 +7,7 @@ par__pipe_tee bug #45479: --pipe/--pipepart --tee
|
||||||
par__pipe_tee --pipe --tee
|
par__pipe_tee --pipe --tee
|
||||||
par__pipe_tee 3221225472
|
par__pipe_tee 3221225472
|
||||||
par__pipepart_spawn ### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922
|
par__pipepart_spawn ### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922
|
||||||
par__pipepart_spawn 1:local / 2 / 999
|
par__pipepart_spawn 1:local / 8 / 999
|
||||||
par__pipepart_tee bug #45479: --pipe/--pipepart --tee
|
par__pipepart_tee bug #45479: --pipe/--pipepart --tee
|
||||||
par__pipepart_tee --pipepart --tee
|
par__pipepart_tee --pipepart --tee
|
||||||
par__pipepart_tee 3221225472
|
par__pipepart_tee 3221225472
|
||||||
|
@ -27,8 +27,8 @@ par_interactive sleep 0.1; echo opt-p 2 ?...n
|
||||||
par_interactive sleep 0.1; echo opt-p 3 ?...y
|
par_interactive sleep 0.1; echo opt-p 3 ?...y
|
||||||
par_interactive spawn /tmp/parallel-script-for-expect
|
par_interactive spawn /tmp/parallel-script-for-expect
|
||||||
par_k ### Test -k
|
par_k ### Test -k
|
||||||
par_k parallel: Warning: Only enough file handles to run 8 jobs in parallel.
|
par_k parallel: Warning: Only enough file handles to run 9 jobs in parallel.
|
||||||
par_k parallel: Warning: Running 'parallel -j0 -N 8 --pipe parallel -j0' or
|
par_k parallel: Warning: Running 'parallel -j0 -N 9 --pipe parallel -j0' or
|
||||||
par_k parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf
|
par_k parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf
|
||||||
par_k parallel: Warning: or /proc/sys/fs/file-max may help.
|
par_k parallel: Warning: or /proc/sys/fs/file-max may help.
|
||||||
par_k begin
|
par_k begin
|
||||||
|
@ -240,26 +240,20 @@ par_line_buffer ### --line-buffer
|
||||||
par_line_buffer 55 55 120
|
par_line_buffer 55 55 120
|
||||||
par_line_buffer These must diff: 1
|
par_line_buffer These must diff: 1
|
||||||
par_linebuffer_tag_slow_output Test output tag with mixing halflines
|
par_linebuffer_tag_slow_output Test output tag with mixing halflines
|
||||||
par_linebuffer_tag_slow_output localhost
|
par_linebuffer_tag_slow_output a aH
|
||||||
par_linebuffer_tag_slow_output localhost
|
par_linebuffer_tag_slow_output b bH
|
||||||
par_linebuffer_tag_slow_output lo
|
par_linebuffer_tag_slow_output a aa
|
||||||
par_linebuffer_tag_slow_output lo
|
par_linebuffer_tag_slow_output b ba
|
||||||
par_linebuffer_tag_slow_output localhost
|
par_linebuffer_tag_slow_output a al
|
||||||
par_linebuffer_tag_slow_output lo
|
par_linebuffer_tag_slow_output b bl
|
||||||
par_linebuffer_tag_slow_output localhost
|
par_linebuffer_tag_slow_output a af
|
||||||
par_linebuffer_tag_slow_output lo
|
par_linebuffer_tag_slow_output b bf
|
||||||
par_linebuffer_tag_slow_output localhost
|
par_linebuffer_tag_slow_output a a
|
||||||
par_linebuffer_tag_slow_output localhost
|
par_linebuffer_tag_slow_output a
|
||||||
par_linebuffer_tag_slow_output localhost
|
par_linebuffer_tag_slow_output b b
|
||||||
par_linebuffer_tag_slow_output localhost
|
par_linebuffer_tag_slow_output b
|
||||||
par_linebuffer_tag_slow_output localhost
|
|
||||||
par_linebuffer_tag_slow_output lo
|
|
||||||
par_linebuffer_tag_slow_output lo
|
|
||||||
par_linebuffer_tag_slow_output lo
|
|
||||||
par_linebuffer_tag_slow_output lo
|
|
||||||
par_linebuffer_tag_slow_output lo
|
|
||||||
par_maxlinelen_X_I ### Test max line length -X -I
|
par_maxlinelen_X_I ### Test max line length -X -I
|
||||||
par_maxlinelen_X_I 3cfc69ee81b0fe7fdbe8eb059ad2da61 -
|
par_maxlinelen_X_I 201ecb8ca789cecf39ee914a6d75611b -
|
||||||
par_maxlinelen_X_I Chars per line (817788/7): 116826
|
par_maxlinelen_X_I Chars per line (817788/7): 116826
|
||||||
par_maxlinelen_m_I ### Test max line length -m -I
|
par_maxlinelen_m_I ### Test max line length -m -I
|
||||||
par_maxlinelen_m_I c78bd0799bc23d8946732f8b3ae3c94e -
|
par_maxlinelen_m_I c78bd0799bc23d8946732f8b3ae3c94e -
|
||||||
|
@ -337,10 +331,10 @@ par_results_compress 0
|
||||||
par_results_compress 1
|
par_results_compress 1
|
||||||
par_results_csv bug #: --results csv
|
par_results_csv bug #: --results csv
|
||||||
par_results_csv --header : --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
par_results_csv --header : --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||||
par_results_csv --header : --tag --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --header : --tag --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --header : --tag --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --header : --tag --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --header : --tag --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --header : --tag --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --header : --tag --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --header : --tag --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --header : --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
par_results_csv --header : --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||||
par_results_csv --header : --tag --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --header : --tag --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --header : --tag --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --header : --tag --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
|
@ -365,10 +359,10 @@ par_results_csv --header : --tag ",
|
||||||
par_results_csv --header : --tag 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
|
par_results_csv --header : --tag 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
|
||||||
par_results_csv --header : --tag ",
|
par_results_csv --header : --tag ",
|
||||||
par_results_csv --header : --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
par_results_csv --header : --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||||
par_results_csv --header : --files --compress 1,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --header : --files --compress 1,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --header : --files --compress 2,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --header : --files --compress 2,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --header : --files --compress 3,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --header : --files --compress 3,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --header : --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --header : --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --header : --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
par_results_csv --header : --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,H2,H1,Stdout,Stderr
|
||||||
par_results_csv --header : --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --header : --files 1,:,999.999,999.999,0,6,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --header : --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --header : --files 2,:,999.999,999.999,0,6,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
|
@ -393,15 +387,15 @@ par_results_csv --header : ",
|
||||||
par_results_csv --header : 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12
|
par_results_csv --header : 4,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12
|
||||||
par_results_csv --header : ",
|
par_results_csv --header : ",
|
||||||
par_results_csv --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
par_results_csv --tag --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||||
par_results_csv --tag --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --tag --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --tag --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --tag --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --tag --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --tag --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,"H2 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --tag --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --tag --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,"22 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --tag --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --tag --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,"22 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --tag --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --tag --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,"22 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --tag --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --tag --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,"23 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --tag --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --tag --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,"23 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --tag --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --tag --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,"23 12 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
par_results_csv --tag --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||||
par_results_csv --tag --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --tag --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,"H2 H1 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
par_results_csv --tag --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
par_results_csv --tag --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,"H2 11 /tmp/parallel-local-10s-tmpdir/tmpfile",
|
||||||
|
@ -451,15 +445,15 @@ par_results_csv --tag ",
|
||||||
par_results_csv --tag 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
|
par_results_csv --tag 9,:,999.999,999.999,0,6,0,0,"echo 23 12",23,12,"23 12 23 12
|
||||||
par_results_csv --tag ",
|
par_results_csv --tag ",
|
||||||
par_results_csv --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
par_results_csv --files --compress Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||||
par_results_csv --files --compress 1,:,999.999,999.999,0,31,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --files --compress 1,:,999.999,999.999,0,15,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --files --compress 2,:,999.999,999.999,0,31,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --files --compress 2,:,999.999,999.999,0,15,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --files --compress 3,:,999.999,999.999,0,31,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --files --compress 3,:,999.999,999.999,0,15,0,0,"echo H2 12",H2,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --files --compress 4,:,999.999,999.999,0,31,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --files --compress 4,:,999.999,999.999,0,15,0,0,"echo 22 H1",22,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --files --compress 5,:,999.999,999.999,0,31,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --files --compress 5,:,999.999,999.999,0,15,0,0,"echo 22 11",22,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --files --compress 6,:,999.999,999.999,0,31,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --files --compress 6,:,999.999,999.999,0,15,0,0,"echo 22 12",22,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --files --compress 7,:,999.999,999.999,0,31,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --files --compress 7,:,999.999,999.999,0,15,0,0,"echo 23 H1",23,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --files --compress 8,:,999.999,999.999,0,31,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --files --compress 8,:,999.999,999.999,0,15,0,0,"echo 23 11",23,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --files --compress 9,:,999.999,999.999,0,31,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --files --compress 9,:,999.999,999.999,0,15,0,0,"echo 23 12",23,12,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
par_results_csv --files Seq,Host,Starttime,JobRuntime,Send,Receive,Exitval,Signal,Command,V1,V2,Stdout,Stderr
|
||||||
par_results_csv --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --files 1,:,999.999,999.999,0,6,0,0,"echo H2 H1",H2,H1,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
par_results_csv --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
par_results_csv --files 2,:,999.999,999.999,0,6,0,0,"echo H2 11",H2,11,/tmp/parallel-local-10s-tmpdir/tmpfile,
|
||||||
|
|
|
@ -263,10 +263,10 @@ par_linebuffer_files lrz --results
|
||||||
par_linebuffer_files lrz 1
|
par_linebuffer_files lrz 1
|
||||||
par_max_length_len_128k ### BUG: The length for -X is not close to max (131072)
|
par_max_length_len_128k ### BUG: The length for -X is not close to max (131072)
|
||||||
par_max_length_len_128k 1 12817 131016
|
par_max_length_len_128k 1 12817 131016
|
||||||
par_max_length_len_128k 1 10946 131032
|
par_max_length_len_128k 1 10947 131046
|
||||||
par_max_length_len_128k 1 23691 131040
|
par_max_length_len_128k 1 23693 131052
|
||||||
par_max_length_len_128k 1 15806 131030
|
par_max_length_len_128k 1 15808 131047
|
||||||
par_max_length_len_128k 1 11788 131032
|
par_max_length_len_128k 1 11789 131045
|
||||||
par_max_length_len_128k 1 25543 131043
|
par_max_length_len_128k 1 25543 131043
|
||||||
par_no_newline_compress bug #41613: --compress --line-buffer - no newline
|
par_no_newline_compress bug #41613: --compress --line-buffer - no newline
|
||||||
par_no_newline_compress tagstring=--tagstring {#} compress=--compress
|
par_no_newline_compress tagstring=--tagstring {#} compress=--compress
|
||||||
|
|
|
@ -27,8 +27,17 @@ par_commandline_with_newline . : ... ... . . . . false "command<null>with<n
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" d
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" d
|
||||||
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" e
|
par_commandline_with_newline . : ... ... . . . . false "command<null>with<null>newlines" e
|
||||||
par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
par_commandline_with_newline Seq Host Starttime JobRuntime Send Receive Exitval Signal Command
|
||||||
par_dryrun_timeout_ungroup bug #51039: --dry-run --timeout 3600 -u breaks
|
par_delay_human_readable a
|
||||||
|
par_delay_human_readable b
|
||||||
|
par_delay_human_readable c
|
||||||
|
par_delay_human_readable a
|
||||||
|
par_delay_human_readable b
|
||||||
|
par_delay_human_readable c
|
||||||
|
par_dryrun_timeout_ungroup bug #51039: --dry-run --timeout 1.4m -u breaks
|
||||||
par_dryrun_timeout_ungroup 1000 2000 8893
|
par_dryrun_timeout_ungroup 1000 2000 8893
|
||||||
|
par_exitval_signal ### Test --joblog with exitval and Test --joblog with signal -- timing dependent
|
||||||
|
par_exitval_signal exitval=128+6 OK
|
||||||
|
par_exitval_signal signal OK
|
||||||
par_keeporder_roundrobin bug #50081: --keep-order --round-robin should give predictable results
|
par_keeporder_roundrobin bug #50081: --keep-order --round-robin should give predictable results
|
||||||
par_keeporder_roundrobin OK
|
par_keeporder_roundrobin OK
|
||||||
par_kill_int_twice ### Are children killed if GNU Parallel receives INT twice? There should be no sleep at the end
|
par_kill_int_twice ### Are children killed if GNU Parallel receives INT twice? There should be no sleep at the end
|
||||||
|
|
|
@ -54,7 +54,7 @@ par_autossh AUTOSSH_DEBUG - turn logging to maximum verbosity and log
|
||||||
par_autossh stderr
|
par_autossh stderr
|
||||||
par_autossh
|
par_autossh
|
||||||
par_autossh rsync: connection unexpectedly closed (0 bytes received so far) [sender]
|
par_autossh rsync: connection unexpectedly closed (0 bytes received so far) [sender]
|
||||||
par_autossh rsync error: error in rsync protocol data stream (code 12) at io.c(235) [sender=3.1.2]
|
par_autossh rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]
|
||||||
par_autossh /usr/lib/autossh/autossh: invalid option -- '-'
|
par_autossh /usr/lib/autossh/autossh: invalid option -- '-'
|
||||||
par_autossh usage: autossh [-V] [-M monitor_port[:echo_port]] [-f] [SSH_OPTIONS]
|
par_autossh usage: autossh [-V] [-M monitor_port[:echo_port]] [-f] [SSH_OPTIONS]
|
||||||
par_autossh
|
par_autossh
|
||||||
|
@ -86,4 +86,4 @@ par_autossh AUTOSSH_DEBUG - turn logging to maximum verbosity and log
|
||||||
par_autossh stderr
|
par_autossh stderr
|
||||||
par_autossh
|
par_autossh
|
||||||
par_autossh rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
|
par_autossh rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
|
||||||
par_autossh rsync error: error in rsync protocol data stream (code 12) at io.c(235) [Receiver=3.1.2]
|
par_autossh rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.1]
|
||||||
|
|
|
@ -313,7 +313,7 @@ par_tcsh_funky
|
||||||
par_tcsh_funky 3 arg alias_works
|
par_tcsh_funky 3 arg alias_works
|
||||||
par_tcsh_funky 3 arg alias_works_over_ssh
|
par_tcsh_funky 3 arg alias_works_over_ssh
|
||||||
par_tcsh_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€<7F>‚ƒ„…†‡ˆ‰Š‹Œ<E280B9>Ž<EFBFBD><C5BD>‘’“”•–—˜™š›œ<E280BA>žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ-funky alias_var_works
|
par_tcsh_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€<7F>‚ƒ„…†‡ˆ‰Š‹Œ<E280B9>Ž<EFBFBD><C5BD>‘’“”•–—˜™š›œ<E280BA>žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ-funky alias_var_works
|
||||||
par_tcsh_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ-funky alias_var_works_over_ssh
|
par_tcsh_funky Funky-
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€亗儎厗噲墛媽崕彁憭摂晼棙櫄洔潪煚、¥ウЖ┆<EFBFBD><EFBFBD><EFBFBD>辈炒刀犯购患骄坷谅媚牌侨墒颂臀闲岩釉罩棕仝圮蒉哙徕沅彐玷殛腱眍镳耱篝貊鼬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>-funky alias_var_works_over_ssh
|
||||||
par_tcsh_funky \\\\\\\\ \ \\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€<7F>\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\<5C>\Ž\<5C>\<5C>\‘\’\“\”\•\–\—\˜\™\š\›\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
|
par_tcsh_funky \\\\\\\\ \ \\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€<7F>\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\<5C>\Ž\<5C>\<5C>\‘\’\“\”\•\–\—\˜\™\š\›\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
|
||||||
par_tcsh_funky func_echo: Command not found.
|
par_tcsh_funky func_echo: Command not found.
|
||||||
par_tcsh_funky func_echo: Command not found.
|
par_tcsh_funky func_echo: Command not found.
|
||||||
|
@ -1176,11 +1176,13 @@ par_bash_man exit value 2 should be 2
|
||||||
par_bash_man Unknown option: no-such-option
|
par_bash_man Unknown option: no-such-option
|
||||||
par_bash_man exit value 255 should be 255
|
par_bash_man exit value 255 should be 255
|
||||||
par_bash_funky
|
par_bash_funky
|
||||||
|
par_bash_funky
|
||||||
|
par_bash_funky
|
||||||
par_bash_funky \\\\\\\\
|
par_bash_funky \\\\\\\\
|
||||||
par_bash_funky
|
par_bash_funky
|
||||||
par_bash_funky
|
par_bash_funky
|
||||||
par_bash_funky -funkymultiline
|
par_bash_funky
|
||||||
par_bash_funky -funkymultiline
|
par_bash_funky
|
||||||
par_bash_funky space 6
|
par_bash_funky space 6
|
||||||
par_bash_funky space 6
|
par_bash_funky space 6
|
||||||
par_bash_funky 3 arg alias_works
|
par_bash_funky 3 arg alias_works
|
||||||
|
@ -1197,6 +1199,8 @@ par_bash_funky function_works
|
||||||
par_bash_funky function_works_over_ssh
|
par_bash_funky function_works_over_ssh
|
||||||
par_bash_funky myvar works
|
par_bash_funky myvar works
|
||||||
par_bash_funky myvar works
|
par_bash_funky myvar works
|
||||||
|
par_bash_funky -funkymultiline
|
||||||
|
par_bash_funky -funkymultiline
|
||||||
par_bash_environment_too_big bug #50815: env_parallel should warn if the environment is too big
|
par_bash_environment_too_big bug #50815: env_parallel should warn if the environment is too big
|
||||||
par_bash_environment_too_big OK_bigvar
|
par_bash_environment_too_big OK_bigvar
|
||||||
par_bash_environment_too_big OK_bigvar_remote
|
par_bash_environment_too_big OK_bigvar_remote
|
||||||
|
|
|
@ -6,6 +6,7 @@ par_zsh_embed your
|
||||||
par_zsh_embed code
|
par_zsh_embed code
|
||||||
par_zsh_embed here
|
par_zsh_embed here
|
||||||
par_zsh_embed parallel_OK
|
par_zsh_embed parallel_OK
|
||||||
|
par_zsh_embed /home/zsh/.zshenv:.:3: no such file or directory: env_parallel.zsh
|
||||||
par_zsh_embed _which:12: argument list too long: perl
|
par_zsh_embed _which:12: argument list too long: perl
|
||||||
par_zsh_embed env_parallel: Error: Your environment is too big.
|
par_zsh_embed env_parallel: Error: Your environment is too big.
|
||||||
par_zsh_embed env_parallel: Error: Try running this in a clean environment once:
|
par_zsh_embed env_parallel: Error: Try running this in a clean environment once:
|
||||||
|
|
|
@ -33,7 +33,7 @@ If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
||||||
To silence this citation notice: run 'parallel --citation' once.
|
To silence this citation notice: run 'parallel --citation' once.
|
||||||
|
|
||||||
10 files to edit
|
10 files to edit
|
||||||
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"file1" [New File][2;1H[94m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[97m[41mE173: 9 more files to edit[1;1H[?12l[?25h[24;1H[m[24;1H[K[24;1H[?1l>[?1049lAcademic tradition requires you to cite works you base your article on.
|
[?1049h[?1h=[1;24r[?12;25h[?12l[?25h[27m[23m[m[H[2J[?25l[24;1H"file1" [New File][2;1H[1m[34m~ [3;1H~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ [8;1H~ [9;1H~ [10;1H~ [11;1H~ [12;1H~ [13;1H~ [14;1H~ [15;1H~ [16;1H~ [17;1H~ [18;1H~ [19;1H~ [20;1H~ [21;1H~ [22;1H~ [23;1H~ [1;1H[?12l[?25h[?25l[m[24;1H[1m[37m[41mE173: 9 more files to edit[1;1H[?12l[?25h[24;1H[m[24;1H[K[24;1H[?1l>[?1049lAcademic tradition requires you to cite works you base your article on.
|
||||||
If you use programs that use GNU Parallel to process data for an article in a
|
If you use programs that use GNU Parallel to process data for an article in a
|
||||||
scientific publication, please cite:
|
scientific publication, please cite:
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,6 @@ par_env_newline_backslash_bash 8
|
||||||
par_env_newline_backslash_csh ### Test --env for \n and \\ - single and double (*csh only) - no output is good but csh fails
|
par_env_newline_backslash_csh ### Test --env for \n and \\ - single and double (*csh only) - no output is good but csh fails
|
||||||
par_env_newline_backslash_csh 2 2\ \92V2=\ \92
|
par_env_newline_backslash_csh 2 2\ \92V2=\ \92
|
||||||
par_env_newline_backslash_csh 2 2\\ \92V2=\\ \92
|
par_env_newline_backslash_csh 2 2\\ \92V2=\\ \92
|
||||||
par_env_newline_backslash_csh 2 Unmatched ".
|
|
||||||
par_env_newline_backslash_csh 2 Unmatched '"'.
|
|
||||||
par_env_newline_backslash_onall_bash ### Test --env for \n and \\ - single and double --onall (bash only) - no output is good
|
par_env_newline_backslash_onall_bash ### Test --env for \n and \\ - single and double --onall (bash only) - no output is good
|
||||||
par_env_newline_backslash_onall_bash 16
|
par_env_newline_backslash_onall_bash 16
|
||||||
par_env_newline_backslash_onall_bash 16
|
par_env_newline_backslash_onall_bash 16
|
||||||
|
@ -17,6 +15,7 @@ par_env_newline_backslash_onall_bash 8 10
|
||||||
par_env_newline_backslash_onall_bash 8 10V2=
|
par_env_newline_backslash_onall_bash 8 10V2=
|
||||||
par_env_newline_backslash_onall_bash 8 2\\ \92V2=\\ \92
|
par_env_newline_backslash_onall_bash 8 2\\ \92V2=\\ \92
|
||||||
par_env_newline_backslash_onall_csh ### Test --env for \n and \\ - single and double --onall (*csh only) - no output is good but csh fails
|
par_env_newline_backslash_onall_csh ### Test --env for \n and \\ - single and double --onall (*csh only) - no output is good but csh fails
|
||||||
|
par_env_newline_backslash_onall_csh 8 Unmatched ".
|
||||||
par_space ### Test --env - https://savannah.gnu.org/bugs/?37351
|
par_space ### Test --env - https://savannah.gnu.org/bugs/?37351
|
||||||
par_space a 2 spaces b 1
|
par_space a 2 spaces b 1
|
||||||
par_space a 2 spaces b 1
|
par_space a 2 spaces b 1
|
||||||
|
|
|
@ -107,7 +107,7 @@ a1.gif 2.gif 3.gif 4.gif 5.gif 6.gifb1 2 3 4 5 6c1 2 3 4 5 6
|
||||||
a1.gifb1c1 a2.gifb2c2 a3.gifb3c3 a4.gifb4c4 a5.gifb5c5 a6.gifb6c6
|
a1.gifb1c1 a2.gifb2c2 a3.gifb3c3 a4.gifb4c4 a5.gifb5c5 a6.gifb6c6
|
||||||
echo '### Test -m with 60000 args'; seq 1 60000 | perl -pe 's/$/.gif/' | parallel -j1 -km echo a{}b{.}c{.} | tee >(wc; sleep 1) >(md5sum; sleep 1) >/dev/null; wait; sleep 1
|
echo '### Test -m with 60000 args'; seq 1 60000 | perl -pe 's/$/.gif/' | parallel -j1 -km echo a{}b{.}c{.} | tee >(wc; sleep 1) >(md5sum; sleep 1) >/dev/null; wait; sleep 1
|
||||||
### Test -m with 60000 args
|
### Test -m with 60000 args
|
||||||
f5e1ea298b25c5516d63061df5c56f79 -
|
d025d2d552a9ff809216d17d408de0b4 -
|
||||||
10 179980 1286692
|
10 179980 1286692
|
||||||
echo '### Test -X with 60000 args'; seq 1 60000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b{.}c{.} | tee >(wc; sleep 1) >(md5sum; sleep 1) >/dev/null; wait; sleep 1
|
echo '### Test -X with 60000 args'; seq 1 60000 | perl -pe 's/$/.gif/' | parallel -j1 -kX echo a{}b{.}c{.} | tee >(wc; sleep 1) >(md5sum; sleep 1) >/dev/null; wait; sleep 1
|
||||||
### Test -X with 60000 args
|
### Test -X with 60000 args
|
||||||
|
|
|
@ -5,12 +5,12 @@ Chars per line: 116300
|
||||||
6 119994 697800
|
6 119994 697800
|
||||||
echo '### Test of xargs -X command lines > 130k'; seq 1 60000 | parallel -X -j1 echo a{}b{}c | tee >(wc >/tmp/bwc$$) >(sort | (sleep 1; md5sum)) >/tmp/b$$; wait; CHAR=$(cat /tmp/b$$ | wc -c); LINES=$(cat /tmp/b$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/bwc$$; rm /tmp/b$$ /tmp/bwc$$
|
echo '### Test of xargs -X command lines > 130k'; seq 1 60000 | parallel -X -j1 echo a{}b{}c | tee >(wc >/tmp/bwc$$) >(sort | (sleep 1; md5sum)) >/tmp/b$$; wait; CHAR=$(cat /tmp/b$$ | wc -c); LINES=$(cat /tmp/b$$ | wc -l); echo "Chars per line:" $(echo "$CHAR/$LINES" | bc); cat /tmp/bwc$$; rm /tmp/b$$ /tmp/bwc$$
|
||||||
### Test of xargs -X command lines > 130k
|
### Test of xargs -X command lines > 130k
|
||||||
3cfc69ee81b0fe7fdbe8eb059ad2da61 -
|
201ecb8ca789cecf39ee914a6d75611b -
|
||||||
Chars per line: 116826
|
Chars per line: 116826
|
||||||
7 60000 817788
|
7 60000 817788
|
||||||
echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -k -j1 -m echo | md5sum
|
echo '### Test of xargs -m command lines > 130k'; seq 1 60000 | parallel -k -j1 -m echo | md5sum
|
||||||
### Test of xargs -m command lines > 130k
|
### Test of xargs -m command lines > 130k
|
||||||
00b8aed2c1bc28368381273aa2ae104e -
|
590091fd85dcb98f91c5e89cdddf21ef -
|
||||||
echo '### This causes problems if we kill child processes'; # 2>/dev/null to avoid parallel: Warning: Starting 45 processes took > 2 sec.
|
echo '### This causes problems if we kill child processes'; # 2>/dev/null to avoid parallel: Warning: Starting 45 processes took > 2 sec.
|
||||||
### This causes problems if we kill child processes
|
### This causes problems if we kill child processes
|
||||||
seq 2 40 | parallel -j 0 seq 1 10 2>/dev/null | sort | md5sum
|
seq 2 40 | parallel -j 0 seq 1 10 2>/dev/null | sort | md5sum
|
||||||
|
@ -75,11 +75,11 @@ parallel: Error: --pipepart is incompatible with --max-replace-args, --max-lines
|
||||||
echo '### bug #42893: --block should not cause decimals in cat_partial'
|
echo '### bug #42893: --block should not cause decimals in cat_partial'
|
||||||
### bug #42893: --block should not cause decimals in cat_partial
|
### bug #42893: --block should not cause decimals in cat_partial
|
||||||
seq 100000 >/tmp/parallel-decimal; parallel --dry-run -kvv --pipepart --block 0.12345M -a /tmp/parallel-decimal true; rm /tmp/parallel-decimal
|
seq 100000 >/tmp/parallel-decimal; parallel --dry-run -kvv --pipepart --block 0.12345M -a /tmp/parallel-decimal true; rm /tmp/parallel-decimal
|
||||||
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>131072?131072:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 0 129450 | (true)
|
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>1048524?1048524:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 0 129450 | (true)
|
||||||
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>131072?131072:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 129450 129450 | (true)
|
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>1048524?1048524:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 129450 129450 | (true)
|
||||||
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>131072?131072:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 258900 129450 | (true)
|
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>1048524?1048524:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 258900 129450 | (true)
|
||||||
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>131072?131072:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 388350 129450 | (true)
|
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>1048524?1048524:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 388350 129450 | (true)
|
||||||
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>131072?131072:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 517800 71095 | (true)
|
</tmp/parallel-decimal perl -e 'while(@ARGV){sysseek(STDIN,shift,0)||die;$left=shift;while($read=sysread(STDIN,$buf,$left>1048524?1048524:$left)){$left-=$read;syswrite(STDOUT,$buf);}}' 0 0 517800 71095 | (true)
|
||||||
echo '### bug #42902: profiles containing arguments with space'
|
echo '### bug #42902: profiles containing arguments with space'
|
||||||
### bug #42902: profiles containing arguments with space
|
### bug #42902: profiles containing arguments with space
|
||||||
echo "--rpl 'FULLPATH chomp(\$_=\"/bin/bash=\".\`readlink -f \$_\`);' " > ~/.parallel/FULLPATH; parallel -JFULLPATH echo FULLPATH ::: $0
|
echo "--rpl 'FULLPATH chomp(\$_=\"/bin/bash=\".\`readlink -f \$_\`);' " > ~/.parallel/FULLPATH; parallel -JFULLPATH echo FULLPATH ::: $0
|
||||||
|
|
|
@ -74,8 +74,8 @@ please cite as described in 'parallel --citation'.
|
||||||
echo '### bug #39787: --xargs broken'
|
echo '### bug #39787: --xargs broken'
|
||||||
### bug #39787: --xargs broken
|
### bug #39787: --xargs broken
|
||||||
nice perl -e 'for(1..30000){print "$_\n"}' | $NICEPAR --xargs -k echo | perl -ne 'print length $_,"\n"'
|
nice perl -e 'for(1..30000){print "$_\n"}' | $NICEPAR --xargs -k echo | perl -ne 'print length $_,"\n"'
|
||||||
131040
|
131052
|
||||||
37854
|
37842
|
||||||
echo '### --delay should grow by 3 sec per arg'
|
echo '### --delay should grow by 3 sec per arg'
|
||||||
### --delay should grow by 3 sec per arg
|
### --delay should grow by 3 sec per arg
|
||||||
stdout /usr/bin/time -f %e parallel --delay 3 true ::: 1 2 | perl -ne '$_ >= 3 and $_ <= 8 and print "OK\n"'
|
stdout /usr/bin/time -f %e parallel --delay 3 true ::: 1 2 | perl -ne '$_ >= 3 and $_ <= 8 and print "OK\n"'
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
### Test --joblog with exitval and Test --joblog with signal -- timing dependent
|
|
||||||
exitval=128+6 OK
|
|
||||||
signal OK
|
|
|
@ -63,7 +63,7 @@ echo '### Test --number-of-cpus'; stdout $NICEPAR --number-of-cpus
|
||||||
1
|
1
|
||||||
echo '### Test --number-of-cores'; stdout $NICEPAR --number-of-cores
|
echo '### Test --number-of-cores'; stdout $NICEPAR --number-of-cores
|
||||||
### Test --number-of-cores
|
### Test --number-of-cores
|
||||||
2
|
8
|
||||||
echo '### Test --use-cpus-instead-of-cores'; (seq 1 8 | stdout parallel --use-cpus-instead-of-cores -j100% sleep) && echo CPUs done & (seq 1 8 | stdout parallel -j100% sleep) && echo cores done & echo 'Cores should complete first on machines with less than 8 physical CPUs'; wait
|
echo '### Test --use-cpus-instead-of-cores'; (seq 1 8 | stdout parallel --use-cpus-instead-of-cores -j100% sleep) && echo CPUs done & (seq 1 8 | stdout parallel -j100% sleep) && echo cores done & echo 'Cores should complete first on machines with less than 8 physical CPUs'; wait
|
||||||
### Test --use-cpus-instead-of-cores
|
### Test --use-cpus-instead-of-cores
|
||||||
Cores should complete first on machines with less than 8 physical CPUs
|
Cores should complete first on machines with less than 8 physical CPUs
|
||||||
|
@ -400,7 +400,7 @@ echo "### BUG: empty lines with --show-limit"
|
||||||
### BUG: empty lines with --show-limit
|
### BUG: empty lines with --show-limit
|
||||||
echo | $NICEPAR --show-limits
|
echo | $NICEPAR --show-limits
|
||||||
Maximal size of command: 131049
|
Maximal size of command: 131049
|
||||||
Maximal used size of command: 131049
|
Maximal used size of command: 131057
|
||||||
|
|
||||||
Execution of will continue now, and it will try to read its input
|
Execution of will continue now, and it will try to read its input
|
||||||
and run commands; if this is not what you wanted to happen, please
|
and run commands; if this is not what you wanted to happen, please
|
||||||
|
|
Loading…
Reference in a new issue