mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-22 20:57:53 +00:00
Released as 20180522 ('GreatMarchOfReturn')
This commit is contained in:
parent
9b2012f021
commit
87b9d9fe29
33
NEWS
33
NEWS
|
@ -1,3 +1,36 @@
|
|||
20180522
|
||||
|
||||
* --tty allows for more programs accessing /dev/tty in parallel. Some
|
||||
programs require tty access without using it.
|
||||
|
||||
* env_parallel --session will record names in current environment in
|
||||
$PARALLEL_IGNORED_NAMES and exit. It is only used with env_parallel,
|
||||
and can work like --record-env but in a single session.
|
||||
|
||||
* 35 day course: Linux shell scripting and text processing for big
|
||||
data https://comquest.in/training
|
||||
|
||||
* How To Use Your Entire CPU In Bash With Parallel
|
||||
https://bash-prompt.net/guides/parallell-bash/
|
||||
|
||||
* An easy way to run parallel jobs on Stampede2
|
||||
https://blog.uta.edu/xus/2017/09/29/an-easy-way-to-run-parallel-jobs-on-stampede2/
|
||||
|
||||
* Get more done at the Linux command line with GNU Parallel
|
||||
https://opensource.com/article/18/5/gnu-parallel
|
||||
|
||||
* Save Time with Modern Search Techniques
|
||||
https://www.sans.org/summit-archives/file/summit-archive-1524582079.pdf
|
||||
|
||||
* GNU Parallel: haz más cosas simultáneamente en el terminal
|
||||
https://blog.desdelinux.net/gnu-parallel-haz-mas-cosas-simultaneamente-en-el-terminal/
|
||||
|
||||
* 「今日から使い切る」ための GNU Parallelによる並列処理入門
|
||||
https://www.slideshare.net/koji_matsuda/gnu-parallel
|
||||
|
||||
* Bug fixes and man page updates.
|
||||
|
||||
|
||||
20180422
|
||||
|
||||
* --csv makes GNU Parallel parse the input sources as CSV. When used
|
||||
|
|
12
README
12
README
|
@ -44,9 +44,9 @@ document.
|
|||
|
||||
Full installation of GNU Parallel is as simple as:
|
||||
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20180422.tar.bz2
|
||||
bzip2 -dc parallel-20180422.tar.bz2 | tar xvf -
|
||||
cd parallel-20180422
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20180522.tar.bz2
|
||||
bzip2 -dc parallel-20180522.tar.bz2 | tar xvf -
|
||||
cd parallel-20180522
|
||||
./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
|
||||
~/bin and ~/share:
|
||||
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20180422.tar.bz2
|
||||
bzip2 -dc parallel-20180422.tar.bz2 | tar xvf -
|
||||
cd parallel-20180422
|
||||
wget https://ftpmirror.gnu.org/parallel/parallel-20180522.tar.bz2
|
||||
bzip2 -dc parallel-20180522.tar.bz2 | tar xvf -
|
||||
cd parallel-20180522
|
||||
./configure --prefix=$HOME && make && make install
|
||||
|
||||
Or if your system lacks 'make' you can simply copy src/parallel
|
||||
|
|
20
configure
vendored
20
configure
vendored
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for parallel 20180422.
|
||||
# Generated by GNU Autoconf 2.69 for parallel 20180522.
|
||||
#
|
||||
# Report bugs to <bug-parallel@gnu.org>.
|
||||
#
|
||||
|
@ -579,8 +579,8 @@ MAKEFLAGS=
|
|||
# Identity of this package.
|
||||
PACKAGE_NAME='parallel'
|
||||
PACKAGE_TARNAME='parallel'
|
||||
PACKAGE_VERSION='20180422'
|
||||
PACKAGE_STRING='parallel 20180422'
|
||||
PACKAGE_VERSION='20180522'
|
||||
PACKAGE_STRING='parallel 20180522'
|
||||
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 20180422 to adapt to many kinds of systems.
|
||||
\`configure' configures parallel 20180522 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 20180422:";;
|
||||
short | recursive ) echo "Configuration of parallel 20180522:";;
|
||||
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 20180422
|
||||
parallel configure 20180522
|
||||
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 20180422, which was
|
||||
It was created by parallel $as_me 20180522, 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='20180422'
|
||||
VERSION='20180522'
|
||||
|
||||
|
||||
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 20180422, which was
|
||||
This file was extended by parallel $as_me 20180522, 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 20180422
|
||||
parallel config.status 20180522
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
AC_INIT([parallel], [20180422], [bug-parallel@gnu.org])
|
||||
AC_INIT([parallel], [20180522], [bug-parallel@gnu.org])
|
||||
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_FILES([
|
||||
|
|
|
@ -220,6 +220,9 @@ https://bash-prompt.net/guides/parallell-bash/
|
|||
https://blog.uta.edu/xus/2017/09/29/an-easy-way-to-run-parallel-jobs-on-stampede2/
|
||||
|
||||
https://opensource.com/article/18/5/gnu-parallel
|
||||
|
||||
|
||||
GNU Parallel: haz más cosas simultáneamente en el terminal
|
||||
https://blog.desdelinux.net/gnu-parallel-haz-mas-cosas-simultaneamente-en-el-terminal/
|
||||
https://www.sans.org/summit-archives/file/summit-archive-1524582079.pdf
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<directory name="parallel" rev="220" srcmd5="daa6220a295b073bc0b1ef06cfc40094" vrev="1">
|
||||
<entry md5="24fd1167f3c45f22bea8588cdbdb5b5a" mtime="1524431598" name="parallel-20180422.tar.bz2" size="1745964" />
|
||||
<entry md5="8c18c6cbcc0554eec175850097aa36e1" mtime="1524431598" name="parallel.spec" size="4666" />
|
||||
<entry md5="75ab8eb06cabba7e19fd971fc54de862" mtime="1524431599" name="parallel_20180422.dsc" size="556" />
|
||||
<entry md5="e76e808b96e7a45a919567010e43e7f9" mtime="1524431599" name="parallel_20180422.tar.gz" size="1951673" />
|
||||
<directory name="parallel" rev="221" srcmd5="2a59ca9bd049f2651990628f4652146f" vrev="1">
|
||||
<entry md5="e5e3a5c63ae38df0d7f01a47b7273d80" mtime="1527030250" name="parallel-20180522.tar.bz2" size="1758080" />
|
||||
<entry md5="4b49188d16aa962e3c3c3a692e7095cc" mtime="1527030250" name="parallel.spec" size="4666" />
|
||||
<entry md5="574a88b53a981480cf908707c52233bc" mtime="1527030251" name="parallel_20180522.dsc" size="556" />
|
||||
<entry md5="43dbfae83b547314f1288c7ec02038b4" mtime="1527030251" name="parallel_20180522.tar.gz" size="1965570" />
|
||||
</directory>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Summary: Shell tool for executing jobs in parallel
|
||||
Name: parallel
|
||||
Version: 20180422
|
||||
Version: 20180522
|
||||
Release: 1.2
|
||||
License: GPL
|
||||
Group: Productivity/File utilities
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Summary: Shell tool for executing jobs in parallel
|
||||
Name: parallel
|
||||
Version: 20180422
|
||||
Version: 20180522
|
||||
Release: 1.2
|
||||
License: GPL
|
||||
Group: Productivity/File utilities
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
use strict;
|
||||
use Getopt::Long;
|
||||
$Global::progname="niceload";
|
||||
$Global::version = 20180423;
|
||||
$Global::version = 20180522;
|
||||
Getopt::Long::Configure("bundling","require_order");
|
||||
get_options_from_array(\@ARGV) || die_usage();
|
||||
if($opt::version) {
|
||||
|
|
|
@ -1450,7 +1450,7 @@ sub check_invalid_option_combinations {
|
|||
|
||||
sub init_globals {
|
||||
# Defaults:
|
||||
$Global::version = 20180423;
|
||||
$Global::version = 20180522;
|
||||
$Global::progname = 'parallel';
|
||||
$Global::infinity = 2**31;
|
||||
$Global::debug = 0;
|
||||
|
|
2
src/sql
2
src/sql
|
@ -576,7 +576,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
|||
exit ($err);
|
||||
|
||||
sub parse_options {
|
||||
$Global::version = 20180423;
|
||||
$Global::version = 20180522;
|
||||
$Global::progname = 'sql';
|
||||
|
||||
# This must be done first as this may exec myself
|
||||
|
|
|
@ -20,7 +20,6 @@ polarhome: polar
|
|||
true
|
||||
|
||||
polar: ../src/parallel tests-to-run/*polar* wanted-results/*polar* prereqlocal
|
||||
make stopvm
|
||||
time bash Start.sh polar NONE || true
|
||||
touch ~/.parallel/will-cite
|
||||
|
||||
|
|
|
@ -1,18 +1,23 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Check servers up on http://www.polarhome.com/service/status/
|
||||
unset TIMEOUT
|
||||
. `which env_parallel.bash`
|
||||
env_parallel --session
|
||||
|
||||
|
||||
P_ALL="alpha tru64 hpux-ia64 syllable pidora raspbian solaris openindiana aix hpux qnx debian-ppc suse solaris-x86 mandriva ubuntu scosysv unixware centos miros macosx redhat netbsd openbsd freebsd debian dragonfly vax ultrix minix irix hurd beaglebone cubieboard2"
|
||||
P_NOTWORKING="vax alpha openstep"
|
||||
P_NOTWORKING_YET="ultrix irix"
|
||||
|
||||
P_WORKING="openbsd tru64 debian freebsd redhat netbsd macosx miros centos unixware pidora ubuntu scosysv raspbian solaris-x86 aix mandriva debian-ppc suse solaris hpux openindiana hpux-ia64"
|
||||
P_WORKING="openbsd tru64 debian redhat netbsd macosx miros centos unixware pidora scosysv raspbian solaris-x86 aix mandriva debian-ppc suse solaris hpux hurd freebsd"
|
||||
P_TEMPORARILY_BROKEN="minix dragonfly ubuntu openindiana hpux-ia64 beaglebone cubieboard2"
|
||||
P_WORKING="openbsd tru64 debian redhat netbsd macosx miros centos unixware pidora scosysv raspbian solaris-x86 aix mandriva debian-ppc suse solaris hpux hurd freebsd ubuntu"
|
||||
P_TEMPORARILY_BROKEN="minix dragonfly openindiana hpux-ia64 beaglebone cubieboard2"
|
||||
|
||||
P="$P_WORKING"
|
||||
POLAR=`parallel -k echo {}.polarhome.com ::: $P`
|
||||
S_POLAR=`parallel -k echo -S 1/{}.polarhome.com ::: $P`
|
||||
|
||||
# 2018-04-22 TIMEOUT=20
|
||||
TIMEOUT=25
|
||||
RETRIES=4
|
||||
|
@ -23,6 +28,9 @@ doit() {
|
|||
# Avoid the stupid /etc/issue.net banner at Polarhome: -oLogLevel=quiet
|
||||
PARALLEL_SSH="ssh -oLogLevel=quiet"
|
||||
export PARALLEL_SSH
|
||||
export TIMEOUT
|
||||
export RETRIES
|
||||
echo TIMEOUT=$TIMEOUT RETRIES=$RETRIES
|
||||
|
||||
copy() {
|
||||
# scp, but atomic (avoid half files if disconnected)
|
||||
|
@ -105,8 +113,7 @@ doit() {
|
|||
par_nonall 'start=2; env_parset var1,var2,var3 seq \$start ::: 2 3 4; echo $var1,$var2,$var3' 2>&1
|
||||
}
|
||||
|
||||
. `which env_parallel.bash`
|
||||
env_parallel -u --env _ -Sredhat.p doit ::: 1
|
||||
env_parallel -u -Sredhat.p doit ::: 1
|
||||
|
||||
# eval 'myfunc() { echo '$(perl -e 'print "x"x20000')'; }'
|
||||
# env_parallel myfunc ::: a | wc # OK
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
TIMEOUT=25 RETRIES=4
|
||||
### Copy commands to servers
|
||||
Done copying
|
||||
aix.polarhome.com ### Test if empty command in process list causes problems
|
||||
|
@ -34,6 +35,8 @@ suse.polarhome.com ### Test if empty command in process list causes problems
|
|||
suse.polarhome.com OK_with_empty_cmd
|
||||
tru64.polarhome.com ### Test if empty command in process list causes problems
|
||||
tru64.polarhome.com OK_with_empty_cmd
|
||||
ubuntu.polarhome.com ### Test if empty command in process list causes problems
|
||||
ubuntu.polarhome.com OK_with_empty_cmd
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: -f: is not an identifier
|
||||
aix.polarhome.com Works on aix7
|
||||
centos.polarhome.com Works on centos.polarhome.com
|
||||
|
@ -53,6 +56,7 @@ solaris-x86.polarhome.com Works on solaris-x86
|
|||
solaris.polarhome.com Works on solaris
|
||||
suse.polarhome.com Works on suse
|
||||
tru64.polarhome.com Works on tru64.polarhome.com
|
||||
ubuntu.polarhome.com Works on ubuntu
|
||||
unixware.polarhome.com Works on unixware.polarhome.com
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
aix.polarhome.com Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: The file access permissions do not allow the specified action. at /home/t/tange/bin/parallel line 0000
|
||||
|
@ -94,6 +98,8 @@ suse.polarhome.com OK
|
|||
tru64.polarhome.com Error in tempfile() using /XXXXXXXX.arg: Parent directory (/) is not writable
|
||||
tru64.polarhome.com at /home/t/tange/bin/parallel line 0000
|
||||
tru64.polarhome.com OK
|
||||
ubuntu.polarhome.com Error in tempfile() using template /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at /home/t/tange/bin/parallel line 0000.
|
||||
ubuntu.polarhome.com OK
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
unixware.polarhome.com UX:env: ERROR: No such file or directory: bash
|
||||
|
||||
|
@ -117,6 +123,7 @@ solaris-x86.polarhome.com bash only A
|
|||
solaris.polarhome.com bash only A
|
||||
suse.polarhome.com /home/t/tange/bin/bash: func: command not found
|
||||
tru64.polarhome.com bash only A
|
||||
ubuntu.polarhome.com bash only A
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `(' unexpected
|
||||
|
||||
### Does PARALLEL_SHELL help exporting a bash function not kill parallel
|
||||
|
@ -138,6 +145,7 @@ solaris-x86.polarhome.com bash only B
|
|||
solaris.polarhome.com bash only B
|
||||
suse.polarhome.com bash only B
|
||||
tru64.polarhome.com bash only B
|
||||
ubuntu.polarhome.com bash only B
|
||||
unixware.polarhome.com bash only B
|
||||
|
||||
### env_parallel echo :::: <(echo OK)
|
||||
|
@ -314,6 +322,16 @@ tru64.polarhome.com /home/t/tange/.profile
|
|||
tru64.polarhome.com /home/t/tange/.cshrc
|
||||
tru64.polarhome.com /home/t/tange/.tcshrc
|
||||
tru64.polarhome.com install-OK
|
||||
ubuntu.polarhome.com Installed env_parallel in:
|
||||
ubuntu.polarhome.com /home/t/tange/.bashrc
|
||||
ubuntu.polarhome.com /home/t/tange/.shrc
|
||||
ubuntu.polarhome.com /home/t/tange/.zshenv
|
||||
ubuntu.polarhome.com /home/t/tange/.config/fish/config.fish
|
||||
ubuntu.polarhome.com /home/t/tange/.kshrc
|
||||
ubuntu.polarhome.com /home/t/tange/.profile
|
||||
ubuntu.polarhome.com /home/t/tange/.cshrc
|
||||
ubuntu.polarhome.com /home/t/tange/.tcshrc
|
||||
ubuntu.polarhome.com install-OK
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
unixware.polarhome.com UX:env: ERROR: No such file or directory: bash
|
||||
aix.polarhome.com env_parallel run-OK
|
||||
|
@ -334,6 +352,7 @@ solaris-x86.polarhome.com env_parallel run-OK
|
|||
solaris.polarhome.com env_parallel run-OK
|
||||
suse.polarhome.com env_parallel run-OK
|
||||
tru64.polarhome.com env_parallel run-OK
|
||||
ubuntu.polarhome.com env_parallel run-OK
|
||||
unixware.polarhome.com env_parallel run-OK
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
aix.polarhome.com reading from process substitution OK
|
||||
|
@ -352,6 +371,7 @@ solaris-x86.polarhome.com reading from process substitution OK
|
|||
solaris.polarhome.com reading from process substitution OK
|
||||
suse.polarhome.com reading from process substitution OK
|
||||
tru64.polarhome.com reading from process substitution OK
|
||||
ubuntu.polarhome.com reading from process substitution OK
|
||||
|
||||
### parset arr seq ::: 2 3 4
|
||||
(bash ksh zsh only)
|
||||
|
@ -375,6 +395,7 @@ solaris-x86.polarhome.com 1 2 1 2 3 1 2 3 4
|
|||
solaris.polarhome.com 1 2 1 2 3 1 2 3 4
|
||||
suse.polarhome.com 1 2 1 2 3 1 2 3 4
|
||||
tru64.polarhome.com 1 2 1 2 3 1 2 3 4
|
||||
ubuntu.polarhome.com 1 2 1 2 3 1 2 3 4
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `arr=' unexpected
|
||||
### env_parset arr seq ::: 2 3 4
|
||||
|
@ -398,6 +419,7 @@ solaris-x86.polarhome.com 2 2 3 2 3 4
|
|||
solaris.polarhome.com 1 2 1 2 1 2
|
||||
suse.polarhome.com 2 2 3 2 3 4
|
||||
tru64.polarhome.com 2 2 3 2 3 4
|
||||
ubuntu.polarhome.com 2 2 3 2 3 4
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `arr=' unexpected
|
||||
|
||||
|
@ -423,6 +445,7 @@ solaris-x86.polarhome.com 1 2,1 2 3,1 2 3 4
|
|||
solaris.polarhome.com 1 2,1 2 3,1 2 3 4
|
||||
suse.polarhome.com 1 2,1 2 3,1 2 3 4
|
||||
tru64.polarhome.com 1 2,1 2 3,1 2 3 4
|
||||
ubuntu.polarhome.com 1 2,1 2 3,1 2 3 4
|
||||
unixware.polarhome.com ,,
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
### env_parset var1,var2,var3 seq ::: 2 3 4
|
||||
|
@ -446,5 +469,6 @@ solaris-x86.polarhome.com 2,2 3,2 3 4
|
|||
solaris.polarhome.com 1 2,1 2,1 2
|
||||
suse.polarhome.com 2,2 3,2 3 4
|
||||
tru64.polarhome.com 2,2 3,2 3 4
|
||||
ubuntu.polarhome.com 2,2 3,2 3 4
|
||||
unixware.polarhome.com 2,2 3,2 3 4
|
||||
unixware.polarhome.com UX:sh (/bin/sh): ERROR: source: Not found
|
||||
|
|
|
@ -539,7 +539,7 @@ B D
|
|||
seq 10 20 | parallel --tmux 'echo start {}; sleep {}; echo done {}'
|
||||
See output with: tmux -S /tmp/parallel-tutorial-tmpdir/tmsXXXXX attach
|
||||
tmux -S /tmp/tmsXXXXX attach
|
||||
no current session
|
||||
no sessions
|
||||
parallel --delay 2.5 echo Starting {}\;date ::: 1 2 3
|
||||
Starting 1
|
||||
DATE OUTPUT
|
||||
|
@ -549,8 +549,14 @@ Starting 3
|
|||
DATE OUTPUT
|
||||
parallel --timeout 4.1 sleep {}\; echo {} ::: 2 4 6 8
|
||||
9
|
||||
parallel: Warning: This job was killed because it timed out:
|
||||
parallel: Warning: sleep 6; echo 6
|
||||
parallel: Warning: This job was killed because it timed out:
|
||||
parallel: Warning: sleep 8; echo 8
|
||||
parallel --timeout 200% sleep {}\; echo {} ::: 2.1 2.2 3 7 2.3
|
||||
9
|
||||
parallel: Warning: This job was killed because it timed out:
|
||||
parallel: Warning: sleep 7; echo 7
|
||||
parallel --eta sleep ::: 1 3 2 2 1 3 3 2 1
|
||||
|
||||
Computers / CPU cores / Max jobs to run
|
||||
|
@ -660,6 +666,8 @@ tried 1
|
|||
export -f show_signals
|
||||
echo | parallel --termseq TERM,200,TERM,100,TERM,50,KILL,25 \
|
||||
-u --timeout 1 show_signals
|
||||
parallel: Warning: This job was killed because it timed out:
|
||||
parallel: Warning: show_signals ''
|
||||
echo | parallel --termseq INT,200,TERM,100,KILL,25 \
|
||||
-u --timeout 1 show_signals
|
||||
/bin/bash: show_signals: command not found
|
||||
|
@ -757,42 +765,42 @@ Unknown option: :::
|
|||
Unknown option: green
|
||||
env_parallel only works if it is a function. Do the below and restart your shell.
|
||||
|
||||
bash: Put this in ~/.bashrc: . /usr/local/bin/env_parallel.bash
|
||||
E.g. by doing: echo '. /usr/local/bin/env_parallel.bash' >> ~/.bashrc
|
||||
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 ~/.zshrc: . /usr/local/bin/env_parallel.zsh
|
||||
E.g. by doing: echo '. /usr/local/bin/env_parallel.zsh' >> ~/.zshenv
|
||||
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: Put this in ~/.config/fish/config.fish:
|
||||
fish: Put this in $HOME/.config/fish/config.fish:
|
||||
. (which env_parallel.fish)
|
||||
E.g. by doing:
|
||||
echo '. (which env_parallel.fish)' >> ~/.config/fish/config.fish
|
||||
echo '. (which env_parallel.fish)' >> $HOME/.config/fish/config.fish
|
||||
Supports: aliases, functions, variables, arrays
|
||||
|
||||
ksh: Put this in ~/.kshrc: source /usr/local/bin/env_parallel.ksh
|
||||
E.g. by doing: echo 'source /usr/local/bin/env_parallel.ksh' >> ~/.kshrc
|
||||
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 ~/.profile: source /usr/local/bin/env_parallel.pdksh
|
||||
E.g. by doing: echo '. /usr/local/bin/env_parallel.pdksh' >> ~/.profile
|
||||
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 ~/.profile: . /usr/local/bin/env_parallel.ash
|
||||
E.g. by doing: echo '. /usr/local/bin/env_parallel.ash' >> ~/.profile
|
||||
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 ~/.profile: . /usr/local/bin/env_parallel.dash
|
||||
E.g. by doing: echo '. /usr/local/bin/env_parallel.dash' >> ~/.profile
|
||||
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: Put this in ~/.cshrc: source /usr/local/bin/env_parallel.csh
|
||||
E.g. by doing: echo 'source /usr/local/bin/env_parallel.csh' >> ~/.cshrc
|
||||
csh: Put this in $HOME/.cshrc: source `which env_parallel.csh`
|
||||
E.g. by doing: echo 'source `which env_parallel.csh`' >> $HOME/.cshrc
|
||||
Supports: aliases, variables, arrays with no special chars
|
||||
|
||||
tcsh: Put this in ~/.tcshrc: source /usr/local/bin/env_parallel.tcsh
|
||||
E.g. by doing: echo 'source /usr/local/bin/env_parallel.tcsh' >> ~/.tcshrc
|
||||
tcsh: Put this in $HOME/.tcshrc: source `which env_parallel.tcsh`
|
||||
E.g. by doing: echo 'source `which env_parallel.tcsh`' >> $HOME/.tcshrc
|
||||
Supports: aliases, variables, arrays with no special chars
|
||||
|
||||
To install in all shells run:
|
||||
|
@ -841,6 +849,7 @@ KONSOLE_DBUS_WINDOW
|
|||
KONSOLE_PROFILE_NAME
|
||||
LANG
|
||||
LANGUAGE
|
||||
LC_ALL
|
||||
LC_TIME
|
||||
LESS
|
||||
LESSCLOSE
|
||||
|
@ -853,7 +862,6 @@ MAKE_TERMERR
|
|||
MAKE_TERMOUT
|
||||
MANDATORY_PATH
|
||||
MFLAGS
|
||||
MOZ_NO_REMOTE
|
||||
ORACLE_HOME
|
||||
ORACLE_SID
|
||||
PARALLEL
|
||||
|
@ -926,42 +934,42 @@ Unknown option: :::
|
|||
Unknown option: bar
|
||||
env_parallel only works if it is a function. Do the below and restart your shell.
|
||||
|
||||
bash: Put this in ~/.bashrc: . /usr/local/bin/env_parallel.bash
|
||||
E.g. by doing: echo '. /usr/local/bin/env_parallel.bash' >> ~/.bashrc
|
||||
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 ~/.zshrc: . /usr/local/bin/env_parallel.zsh
|
||||
E.g. by doing: echo '. /usr/local/bin/env_parallel.zsh' >> ~/.zshenv
|
||||
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: Put this in ~/.config/fish/config.fish:
|
||||
fish: Put this in $HOME/.config/fish/config.fish:
|
||||
. (which env_parallel.fish)
|
||||
E.g. by doing:
|
||||
echo '. (which env_parallel.fish)' >> ~/.config/fish/config.fish
|
||||
echo '. (which env_parallel.fish)' >> $HOME/.config/fish/config.fish
|
||||
Supports: aliases, functions, variables, arrays
|
||||
|
||||
ksh: Put this in ~/.kshrc: source /usr/local/bin/env_parallel.ksh
|
||||
E.g. by doing: echo 'source /usr/local/bin/env_parallel.ksh' >> ~/.kshrc
|
||||
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 ~/.profile: source /usr/local/bin/env_parallel.pdksh
|
||||
E.g. by doing: echo '. /usr/local/bin/env_parallel.pdksh' >> ~/.profile
|
||||
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 ~/.profile: . /usr/local/bin/env_parallel.ash
|
||||
E.g. by doing: echo '. /usr/local/bin/env_parallel.ash' >> ~/.profile
|
||||
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 ~/.profile: . /usr/local/bin/env_parallel.dash
|
||||
E.g. by doing: echo '. /usr/local/bin/env_parallel.dash' >> ~/.profile
|
||||
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: Put this in ~/.cshrc: source /usr/local/bin/env_parallel.csh
|
||||
E.g. by doing: echo 'source /usr/local/bin/env_parallel.csh' >> ~/.cshrc
|
||||
csh: Put this in $HOME/.cshrc: source `which env_parallel.csh`
|
||||
E.g. by doing: echo 'source `which env_parallel.csh`' >> $HOME/.cshrc
|
||||
Supports: aliases, variables, arrays with no special chars
|
||||
|
||||
tcsh: Put this in ~/.tcshrc: source /usr/local/bin/env_parallel.tcsh
|
||||
E.g. by doing: echo 'source /usr/local/bin/env_parallel.tcsh' >> ~/.tcshrc
|
||||
tcsh: Put this in $HOME/.tcshrc: source `which env_parallel.tcsh`
|
||||
E.g. by doing: echo 'source `which env_parallel.tcsh`' >> $HOME/.tcshrc
|
||||
Supports: aliases, variables, arrays with no special chars
|
||||
|
||||
To install in all shells run:
|
||||
|
@ -971,7 +979,7 @@ To install in all shells run:
|
|||
For details: see man env_parallel
|
||||
|
||||
parallel -vv --pipepart --block 1M wc :::: num30000
|
||||
<num30000 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 168894 | (wc)
|
||||
<num30000 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 168894 |(wc)
|
||||
30000 30000 168894
|
||||
my_func3() {
|
||||
echo in my_func $1 > $1.out
|
||||
|
@ -983,18 +991,152 @@ ssh -l parallel lo -- mkdir -p ./.TMPWORKDIR && rsync --protocol 30 -rlDzR -essh
|
|||
parset myvar1,myvar2 echo ::: a b
|
||||
echo $myvar1
|
||||
echo $myvar2
|
||||
Unknown option: myvar1,myvar2
|
||||
Unknown option: echo
|
||||
Unknown option: :::
|
||||
Unknown option: a
|
||||
Unknown option: b
|
||||
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
|
||||
|
||||
/bin/bash: parset: command not found
|
||||
parset myarray seq {} 5 ::: 1 2 3
|
||||
echo "${myarray[1]}"
|
||||
Unknown option: myarray
|
||||
Unknown option: seq
|
||||
Unknown option: {}
|
||||
Unknown option: 5
|
||||
Unknown option: :::
|
||||
Unknown option: 1
|
||||
Unknown option: 2
|
||||
Unknown option: 3
|
||||
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
|
||||
|
||||
/bin/bash: parset: command not found
|
||||
cmd=("echo '<<joe \"double space\" cartoon>>'" "pwd")
|
||||
parset data ::: "${cmd[@]}"
|
||||
echo "${data[0]}"
|
||||
echo "${data[1]}"
|
||||
Unknown option: data
|
||||
Unknown option: :::
|
||||
Unknown option: echo '<<joe "double space" cartoon>>'
|
||||
Unknown option: pwd
|
||||
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
|
||||
|
||||
/bin/bash: line 1: parset: command not found
|
||||
parallel --sqlandworker csv:////%2Ftmp%2Flog.csv \
|
||||
seq ::: 10 ::: 12 13 14
|
||||
cat /tmp/log.csv
|
||||
|
@ -1262,7 +1404,6 @@ The second finished running in the foreground
|
|||
First started
|
||||
First done
|
||||
sem --id my_id -u 'echo Second started; sleep 10; echo Second done'
|
||||
Second done
|
||||
sem --jobs 3 --id my_id -u 'echo Start 1; sleep 5; echo 1 done' &&
|
||||
sem --jobs 3 --id my_id -u 'echo Start 2; sleep 6; echo 2 done' &&
|
||||
sem --jobs 3 --id my_id -u 'echo Start 3; sleep 7; echo 3 done' &&
|
||||
|
@ -1283,8 +1424,8 @@ Start 4
|
|||
Slow started
|
||||
Forced running after 1 sec
|
||||
Slow ended
|
||||
Give up after 2 secs
|
||||
parallel: Warning: Semaphore timed out. Stealing the semaphore.
|
||||
parallel: Warning: Semaphore timed out. Exiting.
|
||||
parallel --help
|
||||
Usage:
|
||||
|
||||
|
@ -1317,15 +1458,15 @@ Academic 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
|
||||
scientific publication, please cite:
|
||||
|
||||
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
|
||||
;login: The USENIX Magazine, February 2011:42-47.
|
||||
O. Tange (2018): GNU Parallel 2018, Mar 2018, ISBN 9781387509881,
|
||||
DOI https://doi.org/10.5281/zenodo.1146014
|
||||
|
||||
This helps funding further development; AND IT WON'T COST YOU A CENT.
|
||||
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
||||
|
||||
parallel --version
|
||||
GNU parallel VERSION
|
||||
Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017
|
||||
Copyright (C) 2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018
|
||||
Ole Tange and Free Software Foundation, Inc.
|
||||
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
||||
This is free software: you are free to change and redistribute it.
|
||||
|
@ -1344,25 +1485,25 @@ Academic 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
|
||||
scientific publication, please cite:
|
||||
|
||||
@article{Tange2011a,
|
||||
title = {GNU Parallel - The Command-Line Power Tool},
|
||||
author = {O. Tange},
|
||||
address = {Frederiksberg, Denmark},
|
||||
journal = {;login: The USENIX Magazine},
|
||||
month = {Feb},
|
||||
number = {1},
|
||||
volume = {36},
|
||||
url = {http://www.gnu.org/s/parallel},
|
||||
year = {2011},
|
||||
pages = {42-47},
|
||||
doi = {http://dx.doi.org/10.5281/zenodo.16303}
|
||||
@book{tange_ole_2018_1146014,
|
||||
author = {Tange, Ole},
|
||||
title = {GNU Parallel 2018},
|
||||
publisher = {Ole Tange},
|
||||
month = Mar,
|
||||
year = 2018,
|
||||
ISBN = {9781387509881},
|
||||
doi = {10.5281/zenodo.1146014},
|
||||
url = {https://doi.org/10.5281/zenodo.1146014}
|
||||
}
|
||||
|
||||
(Feel free to use \nocite{Tange2011a})
|
||||
(Feel free to use \nocite{tange_ole_2018_1146014})
|
||||
|
||||
This helps funding further development; AND IT WON'T COST YOU A CENT.
|
||||
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
|
||||
|
||||
More about funding GNU Parallel and the citation notice:
|
||||
https://www.gnu.org/software/parallel/parallel_design.html#Citation-notice
|
||||
|
||||
If you send a copy of your published article to tange@gnu.org, it will be
|
||||
mentioned in the release notes of next version of GNU Parallel.
|
||||
|
||||
|
|
Loading…
Reference in a new issue