mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-22 14:07:55 +00:00
Released as 20190322 ('FridayforFuture')
This commit is contained in:
parent
0fa1bbff20
commit
dbc36fb062
23
NEWS
23
NEWS
|
@ -1,3 +1,26 @@
|
||||||
|
20190322
|
||||||
|
|
||||||
|
* SIGTERM is changed to SIGHUP, so sending SIGHUP will make GNU
|
||||||
|
Parallel start no more jobs, but wait for running jobs to finish.
|
||||||
|
|
||||||
|
* SIGTERM SIGTERM is changed to SIGTERM, so sending SIGTERM will make
|
||||||
|
GNU Parallel kill all running jobs.
|
||||||
|
|
||||||
|
* GNU Parallel now includes a cheat sheet: parallel_cheat.pdf
|
||||||
|
|
||||||
|
* High Throughput Computing on RMACC Summit and Beyond
|
||||||
|
https://calendar.colorado.edu/event/high_throughput_computing_on_rmacc_summit_and_beyond#.XH2NBhB7mV4
|
||||||
|
|
||||||
|
* GNU Parallel Cheat Sheet by cpriest
|
||||||
|
https://www.cheatography.com/cpriest/cheat-sheets/gnu-parallel/
|
||||||
|
|
||||||
|
* Use Multiple CPU Cores(Parallelize) with Single Threaded Linux
|
||||||
|
Commands
|
||||||
|
http://xensoft.com/use-multiple-cpu-cores-parallelize-with-single-threaded-linux-commands/
|
||||||
|
|
||||||
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
|
||||||
20190222
|
20190222
|
||||||
|
|
||||||
* --shard makes it possible to send input to a the same jobslot based
|
* --shard makes it possible to send input to a the same jobslot based
|
||||||
|
|
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-20190222.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20190322.tar.bz2
|
||||||
bzip2 -dc parallel-20190222.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20190322.tar.bz2 | tar xvf -
|
||||||
cd parallel-20190222
|
cd parallel-20190322
|
||||||
./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-20190222.tar.bz2
|
wget https://ftpmirror.gnu.org/parallel/parallel-20190322.tar.bz2
|
||||||
bzip2 -dc parallel-20190222.tar.bz2 | tar xvf -
|
bzip2 -dc parallel-20190322.tar.bz2 | tar xvf -
|
||||||
cd parallel-20190222
|
cd parallel-20190322
|
||||||
./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
|
||||||
|
|
20
configure
vendored
20
configure
vendored
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.69 for parallel 20190310.
|
# Generated by GNU Autoconf 2.69 for parallel 20190322.
|
||||||
#
|
#
|
||||||
# Report bugs to <bug-parallel@gnu.org>.
|
# Report bugs to <bug-parallel@gnu.org>.
|
||||||
#
|
#
|
||||||
|
@ -579,8 +579,8 @@ MAKEFLAGS=
|
||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='parallel'
|
PACKAGE_NAME='parallel'
|
||||||
PACKAGE_TARNAME='parallel'
|
PACKAGE_TARNAME='parallel'
|
||||||
PACKAGE_VERSION='20190310'
|
PACKAGE_VERSION='20190322'
|
||||||
PACKAGE_STRING='parallel 20190310'
|
PACKAGE_STRING='parallel 20190322'
|
||||||
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
PACKAGE_BUGREPORT='bug-parallel@gnu.org'
|
||||||
PACKAGE_URL=''
|
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.
|
# 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.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures parallel 20190310 to adapt to many kinds of systems.
|
\`configure' configures parallel 20190322 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
|
@ -1281,7 +1281,7 @@ fi
|
||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of parallel 20190310:";;
|
short | recursive ) echo "Configuration of parallel 20190322:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
|
@ -1357,7 +1357,7 @@ fi
|
||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
parallel configure 20190310
|
parallel configure 20190322
|
||||||
generated by GNU Autoconf 2.69
|
generated by GNU Autoconf 2.69
|
||||||
|
|
||||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
|
@ -1374,7 +1374,7 @@ cat >config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by parallel $as_me 20190310, which was
|
It was created by parallel $as_me 20190322, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
|
@ -2237,7 +2237,7 @@ fi
|
||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='parallel'
|
PACKAGE='parallel'
|
||||||
VERSION='20190310'
|
VERSION='20190322'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
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
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by parallel $as_me 20190310, which was
|
This file was extended by parallel $as_me 20190322, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
|
@ -2942,7 +2942,7 @@ _ACEOF
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
parallel config.status 20190310
|
parallel config.status 20190322
|
||||||
configured by $0, generated by GNU Autoconf 2.69,
|
configured by $0, generated by GNU Autoconf 2.69,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
AC_INIT([parallel], [20190310], [bug-parallel@gnu.org])
|
AC_INIT([parallel], [20190322], [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([
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
Quote of the month:
|
Quote of the month:
|
||||||
|
|
||||||
There are so many things to love about GNU parallel. You could honestly teach a whole parallel computing course with it and never have to leave it for a real language.
|
|
||||||
-- Aubrey Bailey @DNAvinci@twitter
|
|
||||||
|
|
||||||
Parallel is a life send, what an awesome piece of software.
|
Parallel is a life send, what an awesome piece of software.
|
||||||
-- Blaze9@reddit.com
|
-- Blaze9@reddit.com
|
||||||
|
|
||||||
|
@ -34,6 +31,10 @@ It's the MapReduce of our generation!
|
||||||
|
|
||||||
|
|
||||||
=== Used ===
|
=== Used ===
|
||||||
|
There are so many things to love about GNU parallel. You could honestly teach a whole parallel computing course with it and never have to leave it for a real language.
|
||||||
|
-- Aubrey Bailey @DNAvinci@twitter
|
||||||
|
|
||||||
|
|
||||||
With GNU Parallel you sure can!
|
With GNU Parallel you sure can!
|
||||||
I like getting things done
|
I like getting things done
|
||||||
|
|
||||||
|
|
301
doc/promo
301
doc/promo
|
@ -1,3 +1,304 @@
|
||||||
|
=head1 GNU Parallel 10 year anniversery - 2020-04-22
|
||||||
|
|
||||||
|
"""
|
||||||
|
Author: Ole Tange <ole@tange.dk>
|
||||||
|
Date: Thu Apr 22 01:23:00 2010 +0200
|
||||||
|
|
||||||
|
Name change: Parallel is now GNU Parallel.
|
||||||
|
Basic structure for sshlogin and sshloginfile.
|
||||||
|
"""
|
||||||
|
|
||||||
|
Wow. It has been 10 years since my parallel program was officially
|
||||||
|
renamed GNU Parallel. It has been quite a ride.
|
||||||
|
|
||||||
|
So it is a probably a good time to take stock.
|
||||||
|
|
||||||
|
|
||||||
|
=head2 The design
|
||||||
|
|
||||||
|
The user interface of GNU Parallel has changed very little during the
|
||||||
|
last 10 years. In total around 10 things have changed in a way that
|
||||||
|
was not backwards compatible - most of them corner cases that very few
|
||||||
|
use.
|
||||||
|
|
||||||
|
|
||||||
|
=head2 Videos
|
||||||
|
|
||||||
|
In 2010 one of the competitors was PPSS. My colleague, Hans Schou,
|
||||||
|
saw louwrentius' video showing off PPSS
|
||||||
|
(https://www.youtube.com/watch?v=32PwsARbePw) and nudged me to make my
|
||||||
|
own videos and most of the information in those still applies to the
|
||||||
|
newest version.
|
||||||
|
|
||||||
|
|
||||||
|
=head2 Complete rewrite
|
||||||
|
|
||||||
|
Before GNU Parallel was a GNU tool, it started as a wrapper around
|
||||||
|
`make -j`. But GNU Parallel grew, and was no longer just a small
|
||||||
|
hack. To make the code easier to maintain it was rewritten to object
|
||||||
|
orientation.
|
||||||
|
|
||||||
|
This would not have been possible if the test suite had not been so
|
||||||
|
thorough: It made it much easier to see if
|
||||||
|
|
||||||
|
|
||||||
|
=head2 --tollef
|
||||||
|
|
||||||
|
Tollef's parallel from moreutils was a headache: Before Tollef's
|
||||||
|
parallel was adopted by moreutils I tried getting Parallel adopted in
|
||||||
|
moreutils. So it was a bit of a disappointment seeing another program
|
||||||
|
called exactly the same included some months later.
|
||||||
|
|
||||||
|
--tollef was added to make GNU Parallel compatible with Tollef's
|
||||||
|
parallel, so that if you depended on Tollef's parallel, then you could
|
||||||
|
drop in GNU Parallel as a replacement.
|
||||||
|
|
||||||
|
I honestly don't think anyone used this. Ever. But it silenced the
|
||||||
|
argument that GNU Parallel would break existing usage.
|
||||||
|
|
||||||
|
Unfortunately distributions enabled --tollef by default and did not
|
||||||
|
stress this to the user. So users experienced no end of frustration
|
||||||
|
when the examples from GNU Parallel's man page did not work.
|
||||||
|
|
||||||
|
moreutils is now generally packaged with Tollef's parallel split off
|
||||||
|
into a separate package, and the frustration seems to be lower today.
|
||||||
|
|
||||||
|
|
||||||
|
=head2 GNU Paralel on NASA Pleiades supercomputer
|
||||||
|
|
||||||
|
In 2013 I stumbled on a happy surprise: NASA seemed to have installed
|
||||||
|
GNU Parallel on their Pleiades supercomputer.
|
||||||
|
|
||||||
|
https://web.archive.org/web/20130221072030/https://www.nas.nasa.gov/hecc/support/kb/using-gnu-parallel-to-package-multiple-jobs-in-a-single-pbs-job_303.html
|
||||||
|
|
||||||
|
"""On Pleiades, a copy of GNU parallel is available under /usr/bin."""
|
||||||
|
|
||||||
|
Pleiades was 16th on top500.org in 2013.
|
||||||
|
|
||||||
|
I have the feeling that GNU Parallel is also used on some of the
|
||||||
|
bigger supercomputers, but I have found no confirmation of that.
|
||||||
|
|
||||||
|
|
||||||
|
=head2 GNU Parallel on Termux and OpenWRT
|
||||||
|
|
||||||
|
At the other end of the system size is Termux on Android and OpenWRT
|
||||||
|
for accesspoints. GNU Parallel runs on both of them, and while I can
|
||||||
|
see why you might run GNU Parallel on an access point I still do not
|
||||||
|
know why you would do it on an Android device.
|
||||||
|
|
||||||
|
It is still cool that it can be done at all.
|
||||||
|
|
||||||
|
|
||||||
|
=head2 Attack on funding
|
||||||
|
|
||||||
|
A sad chapter is the attack on the funding of GNU Parallel.
|
||||||
|
|
||||||
|
You would think such an attack would come from non-free competitors, but
|
||||||
|
this attack was from packagers that packaged GNU Parallel for Debian
|
||||||
|
and SuSE.
|
||||||
|
|
||||||
|
GNU Parallel is funded by me having a job. It is easier to get a well
|
||||||
|
paid job that will allow for maintaining GNU Parallel if GNU Parallel
|
||||||
|
is cited, because that proves the tool is useful for serious work.
|
||||||
|
|
||||||
|
I saw GNU Parallel being used in scientific articles, which was great,
|
||||||
|
but without being cited, which was not ideal. So we discussed on the
|
||||||
|
email list how to make users aware that citing is how GNU Parallel is
|
||||||
|
financed and why this is important.
|
||||||
|
|
||||||
|
So it was decided to make a notice similar to a do-show-this-again box
|
||||||
|
known from e.g. Firefox. The notice could be silenced in less than 10
|
||||||
|
seconds.
|
||||||
|
|
||||||
|
Unfortunately in a misguided act of short term gain in popularity SuSE
|
||||||
|
and Debian did a disservice to free software and disabled this notice
|
||||||
|
in the version they currently distribute.
|
||||||
|
|
||||||
|
As GNU Parallel is free software they are allowed to fork the
|
||||||
|
software, but only if they make sure the forked version cannot be
|
||||||
|
mistaken for GNU Parallel. We have court cases showing this is the
|
||||||
|
case, but still Debian and SuSE refuse to back down, so the problem
|
||||||
|
still not resolved.
|
||||||
|
|
||||||
|
If you would like to see GNU Parallel maintained in the future, please
|
||||||
|
help by raising this issue with SuSE and Debian. Their current stance
|
||||||
|
hurts free software by making it harder to justify spending time on
|
||||||
|
maintaining GNU Parallel. Not having GNU Parallel distributed by
|
||||||
|
Debian and SuSE is actually preferable to the current situation,
|
||||||
|
though, the best outcome would be if they distributed the non-modified
|
||||||
|
version.
|
||||||
|
|
||||||
|
For users who are unwiling to spend the 10 seconds on silencing the
|
||||||
|
notice there is an easy solution: "Don't like it? Don't use it." A
|
||||||
|
considerable amount of time has been spent on mapping the
|
||||||
|
alternatives, so there is really no excuse. See `man
|
||||||
|
parallel_alternatives`.
|
||||||
|
|
||||||
|
|
||||||
|
=head2 The GNU Parallel 2018 book
|
||||||
|
|
||||||
|
Hans Schou teased me by calling the man page "the book". In 2018 I
|
||||||
|
took the consequence of that and wrote a book. The book is available
|
||||||
|
online (https://doi.org/10.5281/zenodo.1146014) and in print
|
||||||
|
(http://www.lulu.com/shop/ole-tange/gnu-parallel-2018/paperback/product-23558902.html).
|
||||||
|
|
||||||
|
|
||||||
|
=head2 Cheatsheet
|
||||||
|
|
||||||
|
A lot of hours has been put into documentation, but the problem with
|
||||||
|
having a lot of documentation is that is can make some people think
|
||||||
|
the program is hard to use giving rise to the myth that "You have to
|
||||||
|
read a full book to be able to use GNU Parallel".
|
||||||
|
|
||||||
|
Several people noted that GNU Parallel was missing a cheat sheet. So
|
||||||
|
in 2019 a one page cheat sheet was included in the package.
|
||||||
|
|
||||||
|
=head2 Why all the options?
|
||||||
|
|
||||||
|
Instead of crappy wrapper scripts.
|
||||||
|
|
||||||
|
=head2 Convenience options --nice --basefile --transfer --return
|
||||||
|
--cleanup --tmux --group --compress --cat --fifo --workdir --tag
|
||||||
|
|
||||||
|
|
||||||
|
=head2 The May 1st incident
|
||||||
|
|
||||||
|
I was at a May 1st event for computer professionals where I sat at a
|
||||||
|
long table opposite a guy. At some point the discussion turned to
|
||||||
|
parallelism.
|
||||||
|
|
||||||
|
"I have found the brilliant program," he said. "It does everything if
|
||||||
|
you want to parallelize."
|
||||||
|
|
||||||
|
The more he explained the more certain was I that I knew this program
|
||||||
|
quite intimately.
|
||||||
|
|
||||||
|
"And it is written by a Dane," he said excited.
|
||||||
|
|
||||||
|
"Oh. Are you aware that the author is sitting on my side of the table?"
|
||||||
|
|
||||||
|
We were the only ones sitting at the table, but we had had a few
|
||||||
|
beers, so it took a while before it dawned to him, who I was.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
=head2 Underappreciated functionality
|
||||||
|
|
||||||
|
=head3 env_parallel
|
||||||
|
|
||||||
|
When I was shown you could encode variables into a single variable and
|
||||||
|
move that to a remote system I was intrigued. But why stop at
|
||||||
|
variables? Why not include aliases, functions, and arrays?
|
||||||
|
|
||||||
|
env_parallel started out as a technical challenge: How much can be
|
||||||
|
copied transparently?
|
||||||
|
|
||||||
|
But it quickly got a more practical side: Why should you not be able
|
||||||
|
to use the variables, aliases and functions defined on the local
|
||||||
|
system just because you want to run jobs on a remote system?
|
||||||
|
|
||||||
|
|
||||||
|
=head3 parset
|
||||||
|
|
||||||
|
Some of GNU Parallel functionality is inspired by other people
|
||||||
|
problems: How could this problem be solved in general?
|
||||||
|
|
||||||
|
parset is one of those. It was inpired by a user who needed the output
|
||||||
|
from different jobs to be stored in different variables. The jobs were
|
||||||
|
slow and could be run in parallel. So while the running of the jobs
|
||||||
|
were clearly a task for GNU Parallel, the storing in variables was not
|
||||||
|
so clear.
|
||||||
|
|
||||||
|
It was fairly easy to code something that would work if the output was
|
||||||
|
a single line with no spaces, but GNU Parallel tries hard not to set
|
||||||
|
artifical limits: It is much preferable to a bit slower if the outcome
|
||||||
|
is predictable - whether the output is a single word or some binary
|
||||||
|
data.
|
||||||
|
|
||||||
|
|
||||||
|
=head3 --embed
|
||||||
|
|
||||||
|
Some of the functionality is inspired by other tools. --embed is one
|
||||||
|
of those.
|
||||||
|
|
||||||
|
--embed was inspired by Lesser Parallel that in turn was inspired by
|
||||||
|
GNU Parallel. The major feature of Lesser Parallel is to be embedded
|
||||||
|
in any bash script. The developer will embed the code into his own
|
||||||
|
bash script and distribute this script.
|
||||||
|
|
||||||
|
So with --embed the users of the script will not have to install GNU
|
||||||
|
Parallel to run it.
|
||||||
|
|
||||||
|
|
||||||
|
=head3 --pipepart with --fifo
|
||||||
|
|
||||||
|
=head3 --bar
|
||||||
|
|
||||||
|
I see people using --bar too rarely. It is one of the easiest ways to
|
||||||
|
get a visual representation of when all the jobs are expected done.
|
||||||
|
|
||||||
|
|
||||||
|
=head3 Combining ::: with :::+
|
||||||
|
|
||||||
|
|
||||||
|
=head3 --rpl with dynamic replacement strings
|
||||||
|
|
||||||
|
=head3 --results with replacement strings
|
||||||
|
|
||||||
|
=head3 --tagstring with replacement strings
|
||||||
|
|
||||||
|
|
||||||
|
=head2 Feedback
|
||||||
|
|
||||||
|
Best ever
|
||||||
|
|
||||||
|
|
||||||
|
=head2 Live strong
|
||||||
|
|
||||||
|
On average there has been a new release of GNU Parallel every month
|
||||||
|
since 2010-04-24.
|
||||||
|
|
||||||
|
In the autumn of 2010 Henrik Sandklef teased me that he knew when the
|
||||||
|
next release would be. GNU Parallel just happened to have been
|
||||||
|
released twice in the 22nd, so he assumed the next release would also
|
||||||
|
be on the 22nd. And why not? A few releases were not in line with
|
||||||
|
this, but since 2011 there has been a release every month around the
|
||||||
|
22nd.
|
||||||
|
|
||||||
|
The fixed release cycle means there has been more than 100 releases
|
||||||
|
making GNU Parallel in the top 5 of GNU tools with the most releases.
|
||||||
|
|
||||||
|
|
||||||
|
=head3 Naming releases
|
||||||
|
|
||||||
|
At the presenatation at FOSDEM (20110205) I found it might be fun to
|
||||||
|
give each release code name, so this release was named FOSDEM. After
|
||||||
|
the Japan release a naming convention started to emerge. And since
|
||||||
|
then each release has had a name related to an event in the past
|
||||||
|
month.
|
||||||
|
|
||||||
|
I will be honest: Some releases were easier to name than others.
|
||||||
|
|
||||||
|
Since the events are not always happy events, the names have now and
|
||||||
|
then stirred a bit of controversy. But if you want happier names, go
|
||||||
|
make a happier world :)
|
||||||
|
|
||||||
|
=head3 Competitors
|
||||||
|
|
||||||
|
Apart from xargs no competitor has had the strength to live for 10
|
||||||
|
years. And even xargs has not had a steady release cycle with a new
|
||||||
|
release every month.
|
||||||
|
|
||||||
|
|
||||||
|
=head2 The next 10 years
|
||||||
|
|
||||||
|
Parallization has come to stay, and there are a lot of competitors to
|
||||||
|
GNU Parallel that do specialized tasks better. But I have a feeling
|
||||||
|
that there is room for a generalized tool like GNU Parallel also in 10
|
||||||
|
years.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
=head1 top photos
|
=head1 top photos
|
||||||
|
|
||||||
http://www.flickr.com/photos/dexxus/5499821986/in/photostream/
|
http://www.flickr.com/photos/dexxus/5499821986/in/photostream/
|
||||||
|
|
|
@ -207,25 +207,27 @@ from:tange@gnu.org
|
||||||
to:parallel@gnu.org, bug-parallel@gnu.org
|
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 20190322 (climatestrike FridayforFuture
|
Subject: GNU Parallel 20190322 ('FridayforFuture') released <<[stable]>>
|
||||||
Christchurch 'Max 8' fly i etiopien 737Max 8 indien pakistan Kashmir') released <<[stable]>>
|
|
||||||
|
|
||||||
GNU Parallel 20190322 ('') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
GNU Parallel 20190322 ('FridayforFuture') <<[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.>>
|
The change in signalling makes this release experimental for users that send SIGTERM to GNU Parallel.
|
||||||
|
|
||||||
Quote of the month:
|
Quote of the month:
|
||||||
|
|
||||||
<<>>
|
There are so many things to love about GNU parallel. You could honestly teach a whole parallel computing course with it and never have to leave it for a real language.
|
||||||
|
-- Aubrey Bailey @DNAvinci@twitter
|
||||||
|
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
* GNU Parallel now includes a cheat sheet: parallel_cheat.pdf
|
* GNU Parallel now includes a cheat sheet: parallel_cheat.pdf
|
||||||
|
|
||||||
https://calendar.colorado.edu/event/high_throughput_computing_on_rmacc_summit_and_beyond#.XH2NBhB7mV4
|
* High Throughput Computing on RMACC Summit and Beyond https://calendar.colorado.edu/event/high_throughput_computing_on_rmacc_summit_and_beyond#.XH2NBhB7mV4
|
||||||
|
|
||||||
https://www.cheatography.com/cpriest/cheat-sheets/gnu-parallel/
|
* GNU Parallel Cheat Sheet by cpriest https://www.cheatography.com/cpriest/cheat-sheets/gnu-parallel/
|
||||||
|
|
||||||
|
* Use Multiple CPU Cores(Parallelize) with Single Threaded Linux Commands http://xensoft.com/use-multiple-cpu-cores-parallelize-with-single-threaded-linux-commands/
|
||||||
|
|
||||||
* Bug fixes and man page updates.
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<directory name="parallel" rev="232" srcmd5="45591c7f6bfc52dfd9aa690a14a31a4c" vrev="2">
|
<directory name="parallel" rev="235" srcmd5="b56edf537125f4d80264c18ceb6f0a1d" vrev="3">
|
||||||
<entry md5="58a492714cee48a39d785e4efb597a83" mtime="1550870169" name="parallel-20190222.tar.bz2" size="1836447" />
|
<entry md5="bb69a30ebf19d93dda7b349d3ec6f09a" mtime="1553206993" name="parallel-20190322.tar.bz2" size="2010002" />
|
||||||
<entry md5="dc24d3784e8be2bcd01dafbd7ee3b918" mtime="1550870135" name="parallel.spec" size="4667" />
|
<entry md5="f1e16853c46c9fdd844562fbaf845aa4" mtime="1553206994" name="parallel.spec" size="4738" />
|
||||||
<entry md5="9090ce7615a2d675f6b5d238ba5ffe41" mtime="1550870135" name="parallel_20190222.dsc" size="556" />
|
<entry md5="38056b999a4b5c6b32dc85be7359e4da" mtime="1553206501" name="parallel_20190322.dsc" size="556" />
|
||||||
<entry md5="847f864bd968638882ddfc0d43bd2115" mtime="1550870136" name="parallel_20190222.tar.gz" size="2032210" />
|
<entry md5="f787b5e843add718eafeb06163e7e496" mtime="1553206502" name="parallel_20190322.tar.gz" size="2193783" />
|
||||||
</directory>
|
</directory>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
Summary: Shell tool for executing jobs in parallel
|
Summary: Shell tool for executing jobs in parallel
|
||||||
Name: parallel
|
Name: parallel
|
||||||
Version: 20190222
|
Version: 20190322
|
||||||
Release: 1.2
|
Release: 1.2
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: Productivity/File utilities
|
Group: Productivity/File utilities
|
||||||
|
@ -88,6 +88,7 @@ rm $RPM_BUILD_ROOT%{_docdir}/sem.pdf
|
||||||
rm $RPM_BUILD_ROOT%{_docdir}/sql.pdf
|
rm $RPM_BUILD_ROOT%{_docdir}/sql.pdf
|
||||||
rm $RPM_BUILD_ROOT%{_docdir}/parcat.pdf
|
rm $RPM_BUILD_ROOT%{_docdir}/parcat.pdf
|
||||||
rm $RPM_BUILD_ROOT%{_docdir}/parset.pdf
|
rm $RPM_BUILD_ROOT%{_docdir}/parset.pdf
|
||||||
|
rm $RPM_BUILD_ROOT%{_docdir}/parallel_cheat.pdf
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
@ -97,7 +98,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
/usr/bin/*
|
/usr/bin/*
|
||||||
/usr/share/man/man1/*
|
/usr/share/man/man1/*
|
||||||
/usr/share/man/man7/*
|
/usr/share/man/man7/*
|
||||||
%doc README NEWS src/parallel.html src/env_parallel.html src/parallel_tutorial.html src/parallel_design.html src/parallel_alternatives.html src/parallel_book.html src/sem.html src/sql.html src/parcat.html src/parset.html src/niceload.html src/parallel.texi src/env_parallel.texi src/parallel_tutorial.texi src/parallel_design.texi src/parallel_alternatives.texi src/parallel_book.texi src/niceload.texi src/sem.texi src/sql.texi src/parcat.texi src/parset.texi src/parallel.pdf src/env_parallel.pdf src/parallel_tutorial.pdf src/parallel_design.pdf src/parallel_alternatives.pdf src/parallel_book.pdf src/niceload.pdf src/sem.pdf src/sql.pdf src/parcat.pdf src/parset.pdf
|
%doc README NEWS src/parallel.html src/env_parallel.html src/parallel_tutorial.html src/parallel_design.html src/parallel_alternatives.html src/parallel_book.html src/sem.html src/sql.html src/parcat.html src/parset.html src/niceload.html src/parallel.texi src/env_parallel.texi src/parallel_tutorial.texi src/parallel_design.texi src/parallel_alternatives.texi src/parallel_book.texi src/niceload.texi src/sem.texi src/sql.texi src/parcat.texi src/parset.texi src/parallel.pdf src/env_parallel.pdf src/parallel_tutorial.pdf src/parallel_design.pdf src/parallel_alternatives.pdf src/parallel_book.pdf src/niceload.pdf src/sem.pdf src/sql.pdf src/parcat.pdf src/parset.pdf src/parallel_cheat.pdf
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Sat Jan 22 2011 Ole Tange
|
* Sat Jan 22 2011 Ole Tange
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
Summary: Shell tool for executing jobs in parallel
|
Summary: Shell tool for executing jobs in parallel
|
||||||
Name: parallel
|
Name: parallel
|
||||||
Version: 20190222
|
Version: 20190322
|
||||||
Release: 1.2
|
Release: 1.2
|
||||||
License: GPL
|
License: GPL
|
||||||
Group: Productivity/File utilities
|
Group: Productivity/File utilities
|
||||||
|
@ -88,6 +88,7 @@ rm $RPM_BUILD_ROOT%{_docdir}/sem.pdf
|
||||||
rm $RPM_BUILD_ROOT%{_docdir}/sql.pdf
|
rm $RPM_BUILD_ROOT%{_docdir}/sql.pdf
|
||||||
rm $RPM_BUILD_ROOT%{_docdir}/parcat.pdf
|
rm $RPM_BUILD_ROOT%{_docdir}/parcat.pdf
|
||||||
rm $RPM_BUILD_ROOT%{_docdir}/parset.pdf
|
rm $RPM_BUILD_ROOT%{_docdir}/parset.pdf
|
||||||
|
rm $RPM_BUILD_ROOT%{_docdir}/parallel_cheat.pdf
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
@ -97,7 +98,7 @@ rm -rf $RPM_BUILD_ROOT
|
||||||
/usr/bin/*
|
/usr/bin/*
|
||||||
/usr/share/man/man1/*
|
/usr/share/man/man1/*
|
||||||
/usr/share/man/man7/*
|
/usr/share/man/man7/*
|
||||||
%doc README NEWS src/parallel.html src/env_parallel.html src/parallel_tutorial.html src/parallel_design.html src/parallel_alternatives.html src/parallel_book.html src/sem.html src/sql.html src/parcat.html src/parset.html src/niceload.html src/parallel.texi src/env_parallel.texi src/parallel_tutorial.texi src/parallel_design.texi src/parallel_alternatives.texi src/parallel_book.texi src/niceload.texi src/sem.texi src/sql.texi src/parcat.texi src/parset.texi src/parallel.pdf src/env_parallel.pdf src/parallel_tutorial.pdf src/parallel_design.pdf src/parallel_alternatives.pdf src/parallel_book.pdf src/niceload.pdf src/sem.pdf src/sql.pdf src/parcat.pdf src/parset.pdf
|
%doc README NEWS src/parallel.html src/env_parallel.html src/parallel_tutorial.html src/parallel_design.html src/parallel_alternatives.html src/parallel_book.html src/sem.html src/sql.html src/parcat.html src/parset.html src/niceload.html src/parallel.texi src/env_parallel.texi src/parallel_tutorial.texi src/parallel_design.texi src/parallel_alternatives.texi src/parallel_book.texi src/niceload.texi src/sem.texi src/sql.texi src/parcat.texi src/parset.texi src/parallel.pdf src/env_parallel.pdf src/parallel_tutorial.pdf src/parallel_design.pdf src/parallel_alternatives.pdf src/parallel_book.pdf src/niceload.pdf src/sem.pdf src/sql.pdf src/parcat.pdf src/parset.pdf src/parallel_cheat.pdf
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Sat Jan 22 2011 Ole Tange
|
* Sat Jan 22 2011 Ole Tange
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
use strict;
|
use strict;
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
$Global::progname="niceload";
|
$Global::progname="niceload";
|
||||||
$Global::version = 20190223;
|
$Global::version = 20190322;
|
||||||
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) {
|
||||||
|
|
|
@ -1695,7 +1695,7 @@ sub check_invalid_option_combinations() {
|
||||||
|
|
||||||
sub init_globals() {
|
sub init_globals() {
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20190223;
|
$Global::version = 20190322;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
$Global::debug = 0;
|
$Global::debug = 0;
|
||||||
|
|
|
@ -2076,7 +2076,7 @@ Only supported in B<Ash, Bash, Dash, Ksh, Sh, and Zsh>.
|
||||||
See also B<--env>, B<--record-env>.
|
See also B<--env>, B<--record-env>.
|
||||||
|
|
||||||
|
|
||||||
=item B<--shard> I<shardkey> (alpha testing)
|
=item B<--shard> I<shardkey> (beta testing)
|
||||||
|
|
||||||
Use column I<shardkey> as shard key and shard input to the jobs.
|
Use column I<shardkey> as shard key and shard input to the jobs.
|
||||||
|
|
||||||
|
@ -2152,7 +2152,7 @@ E.g.
|
||||||
B<--shebang-wrap> must be set as the first option.
|
B<--shebang-wrap> must be set as the first option.
|
||||||
|
|
||||||
|
|
||||||
=item B<--shellquote> (beta testing)
|
=item B<--shellquote>
|
||||||
|
|
||||||
Does not run the command but quotes it. Useful for making quoted
|
Does not run the command but quotes it. Useful for making quoted
|
||||||
composed commands for GNU B<parallel>.
|
composed commands for GNU B<parallel>.
|
||||||
|
@ -4513,9 +4513,9 @@ GNU B<parallel> will then print the currently running jobs on stderr
|
||||||
|
|
||||||
If you regret starting a lot of jobs you can simply break GNU B<parallel>,
|
If you regret starting a lot of jobs you can simply break GNU B<parallel>,
|
||||||
but if you want to make sure you do not have half-completed jobs you
|
but if you want to make sure you do not have half-completed jobs you
|
||||||
should send the signal B<SIGTERM> to GNU B<parallel>:
|
should send the signal B<SIGHUP> to GNU B<parallel>:
|
||||||
|
|
||||||
killall -TERM parallel
|
killall -HUP parallel
|
||||||
|
|
||||||
This will tell GNU B<parallel> to not start any new jobs, but wait until
|
This will tell GNU B<parallel> to not start any new jobs, but wait until
|
||||||
the currently running jobs are finished before exiting.
|
the currently running jobs are finished before exiting.
|
||||||
|
@ -4540,7 +4540,7 @@ shell.
|
||||||
|
|
||||||
B<Example:> If each of the jobs tests a solution and one of jobs finds
|
B<Example:> If each of the jobs tests a solution and one of jobs finds
|
||||||
the solution the job can tell GNU B<parallel> not to start more jobs
|
the solution the job can tell GNU B<parallel> not to start more jobs
|
||||||
by: B<kill -TERM $PARALLEL_PID>. This only works on the local
|
by: B<kill -HUP $PARALLEL_PID>. This only works on the local
|
||||||
computer.
|
computer.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -495,7 +495,8 @@ B<--pipepart>/B<--pipe> should be done on the local machine inside B<--tmux>
|
||||||
|
|
||||||
|
|
||||||
=head2 Convenience options --nice --basefile --transfer --return
|
=head2 Convenience options --nice --basefile --transfer --return
|
||||||
--cleanup --tmux --group --compress --cat --fifo --workdir
|
--cleanup --tmux --group --compress --cat --fifo --workdir --tag
|
||||||
|
--tagstring
|
||||||
|
|
||||||
These are all convenience options that make it easier to do a
|
These are all convenience options that make it easier to do a
|
||||||
task. But more importantly: They are tested to work on corner cases,
|
task. But more importantly: They are tested to work on corner cases,
|
||||||
|
|
2
src/sql
2
src/sql
|
@ -574,7 +574,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
||||||
exit ($err);
|
exit ($err);
|
||||||
|
|
||||||
sub parse_options {
|
sub parse_options {
|
||||||
$Global::version = 20190223;
|
$Global::version = 20190322;
|
||||||
$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
|
||||||
|
|
|
@ -204,24 +204,24 @@ par_shellquote csh \\\\\\\\ "\
|
||||||
par_shellquote csh "\\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€<7F>\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\<5C>\Ž\<5C>\<5C>\‘\’\“\”\•\–\—\˜\™\š\›\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
|
par_shellquote csh "\\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€<7F>\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\<5C>\Ž\<5C>\<5C>\‘\’\“\”\•\–\—\˜\™\š\›\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
|
||||||
par_shellquote tcsh \\\\\\\\ "\
|
par_shellquote tcsh \\\\\\\\ "\
|
||||||
par_shellquote tcsh "\\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€<7F>\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\<5C>\Ž\<5C>\<5C>\‘\’\“\”\•\–\—\˜\™\š\›\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
|
par_shellquote tcsh "\\\
\\\\\\\\\\\\\\ \!\"\#\$%\&\'\(\)\*+,-./0123456789:\;\<\=\>\?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]\^_\`abcdefghijklmnopqrstuvwxyz\{\|\}\~€<7F>\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\<5C>\Ž\<5C>\<5C>\‘\’\“\”\•\–\—\˜\™\š\›\œ\<5C>\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
|
||||||
par_sigterm ### Test SIGTERM
|
par_sighup ### Test SIGHUP
|
||||||
par_sigterm 1
|
par_sighup 1
|
||||||
par_sigterm 10
|
par_sighup 10
|
||||||
par_sigterm 2
|
par_sighup 2
|
||||||
par_sigterm 3
|
par_sighup 3
|
||||||
par_sigterm 4
|
par_sighup 4
|
||||||
par_sigterm 5
|
par_sighup 5
|
||||||
par_sigterm 6
|
par_sighup 6
|
||||||
par_sigterm 7
|
par_sighup 7
|
||||||
par_sigterm 8
|
par_sighup 8
|
||||||
par_sigterm 9
|
par_sighup 9
|
||||||
par_sigterm parallel: SIGTERM received. No new jobs will be started.
|
par_sighup parallel: SIGHUP received. No new jobs will be started.
|
||||||
par_sigterm parallel: Waiting for these 5 jobs to finish. Send SIGTERM again to stop now.
|
par_sighup parallel: Waiting for these 5 jobs to finish. Send SIGTERM to stop now.
|
||||||
par_sigterm parallel: sleep 15; echo 10
|
par_sighup parallel: sleep 15; echo 10
|
||||||
par_sigterm parallel: sleep 15; echo 6
|
par_sighup parallel: sleep 15; echo 6
|
||||||
par_sigterm parallel: sleep 15; echo 7
|
par_sighup parallel: sleep 15; echo 7
|
||||||
par_sigterm parallel: sleep 15; echo 8
|
par_sighup parallel: sleep 15; echo 8
|
||||||
par_sigterm parallel: sleep 15; echo 9
|
par_sighup parallel: sleep 15; echo 9
|
||||||
par_test_detected_shell ### bug #42913: Dont use $SHELL but the shell currently running
|
par_test_detected_shell ### bug #42913: Dont use $SHELL but the shell currently running
|
||||||
par_test_detected_shell test_unknown_shell ash Global::shell /bin/bash
|
par_test_detected_shell test_unknown_shell ash Global::shell /bin/bash
|
||||||
par_test_detected_shell test_unknown_shell bash Global::shell /bin/bash
|
par_test_detected_shell test_unknown_shell bash Global::shell /bin/bash
|
||||||
|
|
|
@ -49,19 +49,22 @@ par_exitval_signal exitval=128+6 OK
|
||||||
par_exitval_signal signal 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_hup ### Are children killed if GNU Parallel receives HUP? There should be no sleep at the end
|
||||||
|
par_kill_hup bash-+-perl---2*[bash---sleep]
|
||||||
|
par_kill_hup `-pstree
|
||||||
|
par_kill_hup parallel: SIGHUP received. No new jobs will be started.
|
||||||
|
par_kill_hup parallel: Waiting for these 2 jobs to finish. Send SIGTERM to stop now.
|
||||||
|
par_kill_hup parallel: bash -c 'sleep 1 & pid=$!; wait $pid'
|
||||||
|
par_kill_hup parallel: bash -c 'sleep 1 & pid=$!; wait $pid'
|
||||||
|
par_kill_hup bash---pstree
|
||||||
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
|
||||||
par_kill_int_twice bash-+-perl---bash---sleep
|
par_kill_int_twice bash-+-perl---bash---sleep
|
||||||
par_kill_int_twice `-pstree
|
par_kill_int_twice `-pstree
|
||||||
par_kill_int_twice bash---pstree
|
par_kill_int_twice bash---pstree
|
||||||
par_kill_term_twice ### Are children killed if GNU Parallel receives TERM twice? There should be no sleep at the end
|
par_kill_term ### Are children killed if GNU Parallel receives TERM? There should be no sleep at the end
|
||||||
par_kill_term_twice bash-+-perl---bash---sleep
|
par_kill_term bash-+-perl---bash---sleep
|
||||||
par_kill_term_twice `-pstree
|
par_kill_term `-pstree
|
||||||
par_kill_term_twice parallel: SIGTERM received. No new jobs will be started.
|
par_kill_term bash---pstree
|
||||||
par_kill_term_twice parallel: Waiting for these 1 jobs to finish. Send SIGTERM again to stop now.
|
|
||||||
par_kill_term_twice parallel: bash -c 'sleep 120 & pid=$!; wait $pid' 1
|
|
||||||
par_kill_term_twice bash-+-perl---bash---sleep
|
|
||||||
par_kill_term_twice `-pstree
|
|
||||||
par_kill_term_twice bash---pstree
|
|
||||||
par_lb_mem_usage 1
|
par_lb_mem_usage 1
|
||||||
par_lb_mem_usage 1
|
par_lb_mem_usage 1
|
||||||
par_lb_mem_usage 2
|
par_lb_mem_usage 2
|
||||||
|
@ -80,10 +83,6 @@ par_nice Check that --nice works
|
||||||
par_nice load_10
|
par_nice load_10
|
||||||
par_nice bzip2 18
|
par_nice bzip2 18
|
||||||
par_nice bzip2 18
|
par_nice bzip2 18
|
||||||
par_nice parallel: SIGTERM received. No new jobs will be started.
|
|
||||||
par_nice parallel: Waiting for these 2 jobs to finish. Send SIGTERM again to stop now.
|
|
||||||
par_nice parallel: bzip2 < /dev/zero
|
|
||||||
par_nice parallel: bzip2 < /dev/zero
|
|
||||||
par_pipe_unneeded_procs ### Test bug #34241: --pipe should not spawn unneeded processes
|
par_pipe_unneeded_procs ### Test bug #34241: --pipe should not spawn unneeded processes
|
||||||
par_pipe_unneeded_procs 1
|
par_pipe_unneeded_procs 1
|
||||||
par_pipe_unneeded_procs 2
|
par_pipe_unneeded_procs 2
|
||||||
|
|
Loading…
Reference in a new issue