--tmuxpane initial version.

Passes testsuite.
This commit is contained in:
Ole Tange 2016-08-21 15:37:59 +02:00
parent fd6abf1f9a
commit 8bec8de5df
24 changed files with 102 additions and 113 deletions

View file

@ -219,9 +219,9 @@ cc:Tim Cuthbertson <tim3d.junk@gmail.com>,
Ryoichiro Suzuki <ryoichiro.suzuki@gmail.com>,
Jesse Alama <jesse.alama@gmail.com>
Subject: GNU Parallel 20160722 ('Og Nomekop/Munich/Erdogan') released <<[stable]>>
Subject: GNU Parallel 20160822 ('Og Nomekop') released <<[stable]>>
GNU Parallel 20160722 ('Munich/Erdogan') <<[stable]>> has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
GNU Parallel 20160822 ('Og Nomekop') <<[stable]>> has been released. It is available for download at: http://ftp.gnu.org/gnu/parallel/
<<No new functionality was introduced so this is a good candidate for a stable release.>>
@ -234,6 +234,7 @@ New in this release:
* GNU Parallel was cited in: Exome sequencing of geographically diverse barley landraces and wild relatives gives insights into environmental adaptation http://www.nature.com/ng/journal/vaop/ncurrent/full/ng.3612.html?WT.feed_name=subjects_genetics#references
* GNU Parallel was cited in: Vision-Enhanced Lidar Odometry and Mapping https://www.ri.cmu.edu/pub_files/2016/8/DLL-thesis.pdf
* <<Possibly http://link.springer.com/chapter/10.1007%2F978-3-319-22053-6_46>>

View file

@ -799,6 +799,7 @@ sub options_hash {
"ungroup|u" => \$opt::ungroup,
"linebuffer|linebuffered|line-buffer|line-buffered|lb" => \$opt::linebuffer,
"tmux" => \$opt::tmux,
"tmuxpane" => \$opt::tmuxpane,
"null|0" => \$opt::0,
"quote|q" => \$opt::q,
# Replacement strings
@ -997,6 +998,7 @@ sub parse_options {
$opt::nice ||= 0;
if(defined $opt::help) { die_usage(); }
if(defined $opt::sqlandworker) { $opt::sqlmaster = $opt::sqlworker = $opt::sqlandworker; }
if(defined $opt::tmuxpane) { $opt::tmux = $opt::tmuxpane; }
if(defined $opt::colsep) { $Global::trim = 'lr'; }
if(defined $opt::header) { $opt::colsep = defined $opt::colsep ? $opt::colsep : "\t"; }
if(defined $opt::trim) { $Global::trim = $opt::trim; }
@ -1551,7 +1553,7 @@ sub find_compression_program {
# $decompress_program = decompress program with options
# Search for these. Sorted by speed on 20 core
# parallel -j1 --joblog jl --arg-sep , parallel --compress-program \'{3}" "-{2}\' cat ::: gz '>'/dev/null , 1 2 3 , {1..3} , zstd clzip lz4 lzop pigz pxz gzip plzip pbzip2 lzma xz lzip bzip2
# parallel -j1 --joblog jl --arg-sep , parallel --compress-program \'{3}" "-{2}\' cat ::: gz '>'/dev/null , 1 2 3 , {1..3} , zstd clzip lz4 lzop pigz pxz gzip plzip pbzip2 lzma xz lzip bzip2 lbzip2 lrzip
# sort -nk4 jl
my @prg = qw(lz4 lzop pbzip2 pigz plzip lzip gzip pxz lzma xz bzip2);
for my $p (@prg) {
@ -1617,6 +1619,9 @@ sub read_options {
exec "$0 --internal-pipe-means-argfiles @options @parser $script ::: @ARGV";
}
}
if($ARGV[0] =~ / --shebang(-?wrap)? /) {
::warning("--shebang and --shebang-wrap must be the first argument.\n");
}
Getopt::Long::Configure("bundling","require_order");
my @ARGV_copy = @ARGV;
@ -5023,8 +5028,10 @@ sub loadavg {
if($update_loadavg_file) {
::debug("load", "Updating loadavg file", $self->{'loadavg_file'}, "\n");
$self->{'last_loadavg_update'} = time;
-e $ENV{'HOME'}."/.parallel" or mkdir $ENV{'HOME'}."/.parallel";
-e $ENV{'HOME'}."/.parallel/tmp" or mkdir $ENV{'HOME'}."/.parallel/tmp";
-w $ENV{'HOME'}."/.parallel" or mkdir $ENV{'HOME'}."/.parallel"
or ::die_bug("Cannot write to $ENV{'HOME'}/.parallel");
-w $ENV{'HOME'}."/.parallel/tmp" or mkdir $ENV{'HOME'}."/.parallel/tmp"
or ::die_bug("Cannot write to $ENV{'HOME'}/.parallel/tmp");
my $cmd = "";
if($self->{'string'} ne ":") {
$cmd = $self->sshcommand() . " " . $self->serverlogin() . " " .
@ -7851,6 +7858,12 @@ sub print_dryrun_and_verbose {
::error("tmux does not support sockets with path > 100.");
::wait_and_exit(255);
}
if($opt::tmuxpane) {
# Move the command into a pane in window 0
$actual_command = 'tmux joinp -t :0 ; '.
'tmux select-layout -t :0 tiled ; '.
$actual_command;
}
my $visual_command = $self->replaced();
my $title = $visual_command;
if($visual_command =~ /\0/) {
@ -10445,11 +10458,11 @@ sub remove_dead_locks {
$d =~ m:$lockdir/([0-9]+)\@([-\._a-z0-9]+)$:o or next;
my ($pid, $host) = ($1, $2);
if($host eq ::hostname()) {
if(not kill 0, $pid) {
if(kill 0, $pid) {
::debug("sem", "Alive: $pid $d\n");
} else {
::debug("sem", "Dead: $d\n");
::rm($d);
} else {
::debug("sem", "Alive: $d\n");
}
}
}

View file

@ -2105,6 +2105,13 @@ Use B<tmux> for output. Start a B<tmux> session and run each job in a
window in that session. No other output will be produced.
=item B<--tmuxpane> (alpha testing)
Use B<tmux> for output but put output into panes in the first window.
Useful if you want to monitor the progress of less than 100 concurrent
jobs.
=item B<--timeout> I<secs>
Time out for command. If the command runs for longer than I<secs>

View file

@ -53,7 +53,8 @@ prereqremote: installparallel startvm
startvm:
# Make sure we can reach the virtual machines
sudo ifconfig wlp13s0:0 192.168.1.72 || sudo ifconfig wlan0:0 192.168.1.72
#sudo ifconfig wlp13s0:0 192.168.1.72 || sudo ifconfig wlan0:0 192.168.1.72
sudo ifconfig enp14s0 192.168.1.72 || sudo ifconfig eth0:0 192.168.1.72
# If they are already running: Don't fail
VBoxManage startvm CentOS3-root:centos3 || VBoxManage controlvm CentOS3-root:centos3 resume || true
VBoxManage startvm RedHat9-root:redhat9 || VBoxManage controlvm RedHat9-root:redhat9 resume || true

View file

@ -1,2 +1 @@
1
2

View file

@ -23,8 +23,8 @@ freepl >/dev/null &
cat <<'EOF' | sed -e 's/;$/; /;s/$SERVER1/'$SERVER1'/;s/$SERVER2/'$SERVER2'/' | stdout parallel -vj0 -k --joblog /tmp/jl-`basename $0` -L1
echo '### --rm and --runmem'
niceload -H --rm 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--rm
niceload -H --runmem 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--runmem
niceload -H --rm 1g free -g | perl -ane '/Mem:/ and print $F[5],"\n"' | grep '[1-9]' >/dev/null && echo OK--rm
niceload -H --runmem 1g free -g | perl -ane '/Mem:/ and print $F[5],"\n"' | grep '[1-9]' >/dev/null && echo OK--runmem
echo '### -N and --noswap. Must give 0'
niceload -H -N vmstat 1 2 | tail -n1 | awk '{print "-N " $7*$8}'

View file

@ -46,6 +46,7 @@ no_mem_leak() {
min30000=$(parallel measure {} 100000 ::: 30000 30000 30000 30000 |
sort -n | head -n 1)
if [ $max1000 -gt $min30000 ] ; then
# Make sure there are a few sleeps
max1000=$(parallel measure {} 100 ::: 1000 1000 1000 1000 |
sort -n | tail -n 1)
min30000=$(parallel measure {} 100 ::: 30000 30000 30000 30000 |

View file

@ -112,7 +112,7 @@ echo '**'
echo "### Test max line length -m -I"
seq 1 60000 | parallel -I :: -m -j1 echo a::b::c | sort >/tmp/114-a$$;
seq 1 60000 | parallel -I :: -km -j1 echo a::b::c | sort >/tmp/114-a$$;
md5sum </tmp/114-a$$;
export CHAR=$(cat /tmp/114-a$$ | wc -c);
export LINES=$(cat /tmp/114-a$$ | wc -l);
@ -121,7 +121,7 @@ echo "### Test max line length -m -I"
echo "### Test max line length -X -I"
seq 1 60000 | parallel -I :: -X -j1 echo a::b::c | sort >/tmp/114-b$$;
seq 1 60000 | parallel -I :: -kX -j1 echo a::b::c | sort >/tmp/114-b$$;
md5sum </tmp/114-b$$;
export CHAR=$(cat /tmp/114-b$$ | wc -c);
export LINES=$(cat /tmp/114-b$$ | wc -l);

View file

@ -90,7 +90,7 @@ echo 'bug #47695: How to set $PATH on remote?'
rm -rf /tmp/parallel
cp /usr/local/bin/parallel /tmp
cat <<'_EOS' | stdout ssh nopathbash@lo -T | grep -v 'packages can be updated'
cat <<'_EOS' | stdout ssh nopathbash@lo -T | grep -Ev 'packages can be updated|System restart required|Welcome to Ubuntu'
echo BASH Path before: $PATH with no parallel
parallel echo ::: 1
echo '^^^^^^^^ Not found is OK'
@ -103,7 +103,7 @@ echo 'bug #47695: How to set $PATH on remote?'
_EOS
echo
cat <<'_EOS' | stdout ssh nopathcsh@lo -T | grep -v 'packages can be updated'
cat <<'_EOS' | stdout ssh nopathcsh@lo -T | grep -Ev 'packages can be updated|System restart required|Welcome to Ubuntu'
echo CSH Path before: $PATH with no parallel
which parallel >& /dev/stdout
echo '^^^^^^^^ Not found is OK'

View file

@ -6,8 +6,8 @@ P_ALL="vax freebsd solaris openbsd netbsd debian alpha aix redhat hpux ultrix mi
P_NOTWORKING="vax alpha openstep"
P_NOTWORKING_YET="ultrix irix"
P_WORKING="pidora raspbian solaris openindiana aix hpux qnx debian-ppc suse solaris-x86 mandriva ubuntu scosysv unixware centos miros macosx redhat netbsd openbsd freebsd debian"
P_TEMPORARILY_BROKEN="minix tru64 syllable hurd hpux-ia64 dragonfly"
P_WORKING="tru64 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"
P_TEMPORARILY_BROKEN="minix hurd hpux-ia64 dragonfly"
P="$P_WORKING"
POLAR=`parallel -k echo {}.polarhome.com ::: $P`
@ -15,7 +15,8 @@ S_POLAR=`parallel -k echo -S 1/{}.polarhome.com ::: $P`
# 20150414 --timeout 80 -> 40
# 20151219 --retries 5 -> 2
TIMEOUT=10
# 20160821 --timeout 10 -> 100 (DNS problems)
TIMEOUT=130
RETRIES=4
echo '### Tests on polarhome machines'

View file

@ -1,9 +1,18 @@
#!/bin/bash
minipv() {
sleep=$1
while read line; do
echo "$line"
sleep $sleep
done
}
export -f minipv
echo '### Test id = --id `tty`'
parallel --id `tty` -u --semaphore seq 1 10 '|' pv -qL 20
parallel --id `tty` --lb --semaphore seq 1 10 '|' minipv 0.1
echo '### Test default id = --id `tty`'
parallel -u --semaphore seq 11 20 '|' pv -qL 100
parallel --lb --semaphore seq 11 20 '|' minipv 0.01
echo '### Test --semaphorename `tty`'
parallel --semaphorename `tty` --semaphore --wait
echo done

View file

@ -66,7 +66,7 @@ echo "### Test oracle with \n arguments on the command line"
sql :oraunittest 'select 1 from dual;\nselect 2 from dual;\x0aselect 3 from dual;'
echo "### Test --show-tables"
sql --show-tables :oraunittest
sql --show-tables :oraunittest | sort
echo "### Test --show-databases"
sql --show-databases :oraunittest

View file

@ -42,7 +42,7 @@ EOF
cd input-files/test15
echo 'xargs Expect: 3 1 2'
echo 'xargs Expect: 3 1'
echo 3 | xargs -P 1 -n 1 -a files cat -
echo 'parallel Expect: 3 1 via psedotty 2'
cat >/tmp/parallel-script-for-script <<EOF
@ -53,7 +53,7 @@ chmod 755 /tmp/parallel-script-for-script
echo via pseudotty | script -q -f -c /tmp/parallel-script-for-script /dev/null
sleep 1
echo 'xargs Expect: 1 3 2'
echo 'xargs Expect: 1 3'
echo 3 | xargs -I {} -P 1 -n 1 -a files cat {} -
echo 'parallel Expect: 1 3 2 via pseudotty'
cat >/tmp/parallel-script-for-script2 <<EOF

View file

@ -3,9 +3,9 @@ This works
echo '### --rm and --runmem'
### --rm and --runmem
niceload -H --rm 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--rm
niceload -H --rm 1g free -g | perl -ane '/Mem:/ and print $F[5],"\n"' | grep '[1-9]' >/dev/null && echo OK--rm
OK--rm
niceload -H --runmem 1g free -g | perl -ane '/buffers.cache:/ and print $F[3],"\n"' | grep '[1-9]' >/dev/null && echo OK--runmem
niceload -H --runmem 1g free -g | perl -ane '/Mem:/ and print $F[5],"\n"' | grep '[1-9]' >/dev/null && echo OK--runmem
OK--runmem
echo '### -N and --noswap. Must give 0'
### -N and --noswap. Must give 0

View file

@ -13,7 +13,7 @@ test -n "" \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec /bin/bash /mnt/4tb/home/tange/privat/parallel/install-sh -c -m a+r {} {} \; \
! -type d ! -perm -444 -exec /bin/bash /home/tange/privat/parallel/install-sh -c -m a+r {} {} \; \
|| chmod -R a+r "parallel-00000000"
tardir=parallel-00000000 && ${TAR-tar} chof - "$tardir" | GZIP=--best gzip -c >parallel-00000000.tar.gz
make[0]: Leaving directory '/mnt/4tb/home/tange/privat/parallel'

View file

@ -297,23 +297,23 @@ bug #45993: --wd ... should also work when run locally
parallel: Error: Cannot change into non-executable dir /bi: No such file or directory
parallel --wd /bin 'pwd; echo $OLDPWD; echo' ::: OK
/bin
/mnt/4tb/home/tange/privat/parallel/testsuite
/home/tange/privat/parallel/testsuite
OK
parallel --wd / 'pwd; echo $OLDPWD; echo' ::: OK
/
/mnt/4tb/home/tange/privat/parallel/testsuite
/home/tange/privat/parallel/testsuite
OK
parallel --wd /tmp 'pwd; echo $OLDPWD; echo' ::: OK
/tmp
/mnt/4tb/home/tange/privat/parallel/testsuite
/home/tange/privat/parallel/testsuite
OK
parallel --wd ... 'pwd; echo $OLDPWD; echo' ::: OK | perl -pe 's/\d+/0/g'
/home/tange/.parallel/tmp/aspire-0-0
/mnt/0tb/home/tange/privat/parallel/testsuite
/home/tange/privat/parallel/testsuite
OK
parallel --wd . 'pwd; echo $OLDPWD; echo' ::: OK
/home/tange/privat/parallel/testsuite
/mnt/4tb/home/tange/privat/parallel/testsuite
/home/tange/privat/parallel/testsuite
OK
echo '**'
**

View file

@ -3,8 +3,8 @@ par_mem_leak ### test for mem leak
par_mem_leak no mem leak detected
par_outside_file_handle_limit 2>&1
par_outside_file_handle_limit ### Test Force outside the file handle limit, 2009-02-17 Gave fork error
par_outside_file_handle_limit parallel: Warning: Only enough file handles to run 251 jobs in parallel.
par_outside_file_handle_limit parallel: Warning: Running 'parallel -j0 -N 251 --pipe parallel -j0' or
par_outside_file_handle_limit parallel: Warning: Only enough file handles to run 252 jobs in parallel.
par_outside_file_handle_limit parallel: Warning: Running 'parallel -j0 -N 252 --pipe parallel -j0' or
par_outside_file_handle_limit parallel: Warning: raising ulimit -n or /etc/security/limits.conf may help.
par_outside_file_handle_limit Start
par_outside_file_handle_limit end

View file

@ -1,7 +1,7 @@
echo '### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922'
### bug #46214: Using --pipepart doesnt spawn multiple jobs in version 20150922
seq 1000000 > /tmp/num1000000; stdout parallel --pipepart --progress -a /tmp/num1000000 --block 10k -j0 true |grep 1:local
1:local / 8 / 251
1:local / 8 / 252
echo '**'
**
testhalt() { echo '### testhalt --halt '$1; (yes 0 | head -n 10; seq 10) | stdout parallel -kj4 --halt $1 'sleep {= $_=$_*0.3+1 =}; exit {}'; echo $?; (seq 10; yes 0 | head -n 10) | stdout parallel -kj4 --halt $1 'sleep {= $_=$_*0.3+1 =}; exit {}'; echo $?; }; export -f testhalt; parallel -kj0 testhalt ::: now,fail=0 now,fail=1 now,fail=2 now,fail=30% now,fail=70% soon,fail=0 soon,fail=1 soon,fail=2 soon,fail=30% soon,fail=70% now,success=0 now,success=1 now,success=2 now,success=30% now,success=70% soon,success=0 soon,success=1 soon,success=2 soon,success=30% now,success=70%
@ -862,12 +862,12 @@ echo '**'
**
echo "### Test max line length -m -I"
### Test max line length -m -I
seq 1 60000 | parallel -I :: -m -j1 echo a::b::c | sort >/tmp/114-a$$; md5sum </tmp/114-a$$; export CHAR=$(cat /tmp/114-a$$ | wc -c); export LINES=$(cat /tmp/114-a$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-a$$
seq 1 60000 | parallel -I :: -km -j1 echo a::b::c | sort >/tmp/114-a$$; md5sum </tmp/114-a$$; export CHAR=$(cat /tmp/114-a$$ | wc -c); export LINES=$(cat /tmp/114-a$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-a$$
14bacad229d8b0d32be0a2339c2a6af7 -
Chars per line (697810/11): 63437
echo "### Test max line length -X -I"
### Test max line length -X -I
seq 1 60000 | parallel -I :: -X -j1 echo a::b::c | sort >/tmp/114-b$$; md5sum </tmp/114-b$$; export CHAR=$(cat /tmp/114-b$$ | wc -c); export LINES=$(cat /tmp/114-b$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-b$$
seq 1 60000 | parallel -I :: -kX -j1 echo a::b::c | sort >/tmp/114-b$$; md5sum </tmp/114-b$$; export CHAR=$(cat /tmp/114-b$$ | wc -c); export LINES=$(cat /tmp/114-b$$ | wc -l); echo "Chars per line ($CHAR/$LINES): "$(echo "$CHAR/$LINES" | bc); rm /tmp/114-b$$
81c0a85162c989c07f666b827a30ce52 -
Chars per line (817788/13): 62906
echo '**'

View file

@ -123,7 +123,6 @@ echo '### exported function to csh but with PARALLEL_SHELL=bash'
CSH/TCSH DO NOT SUPPORT newlines IN VARIABLES/FUNCTIONS. Unset doit
OK
bug #47695: How to set $PATH on remote?
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
@ -136,7 +135,6 @@ BASH Path before: /bin:/usr/bin with no parallel
^^^^^^^^ Not found is OK
/bin:/usr/bin:/tmp OK
Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com

View file

@ -1,5 +1,14 @@
### Tests on polarhome machines
Setup on polarhome machines
copy_and_test tru64.polarhome.com
tru64.polarhome.com ### Run the test on tru64.polarhome.com
tru64.polarhome.com Works on tru64.polarhome.com
tru64.polarhome.com Error in tempfile() using /XXXXXXXX.arg: Parent directory (/) is not writable
tru64.polarhome.com at bin/parallel line 0000
tru64.polarhome.com OK
copy_and_test syllable.polarhome.com
syllable.polarhome.com ### Run the test on syllable.polarhome.com
syllable.polarhome.com chmod: changing permissions of `bin/p.tmp': Function not implemented
copy_and_test pidora.polarhome.com
pidora.polarhome.com ### Run the test on pidora.polarhome.com
pidora.polarhome.com Works on pidora.polarhome.com
@ -124,7 +133,7 @@ debian-ppc
debian
freebsd.polarhome.com
hpux64
macosx.polarhome.com
macosx
mandriva.polarhome.com
miros.polarhome.com
netbsd.polarhome.com
@ -138,6 +147,7 @@ scosysv.polarhome.com
solaris-x86
solaris
suse
tru64.polarhome.com
ubuntu
unixware.polarhome.com
@ -163,6 +173,7 @@ scosysv.polarhome.com bash only A
solaris-x86.polarhome.com bash only A
solaris.polarhome.com bash only A
suse.polarhome.com bash only A
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

View file

@ -161,7 +161,7 @@ num8
num_%header
tsv-file.tsv
foo
/mnt/4tb/home/tange/privat/parallel/testsuite/tmp
/home/tange/privat/parallel/testsuite/tmp
my_func() {
echo in my_func $1
}

View file

@ -88,18 +88,18 @@ arg3
### Test --show-tables
OBJECT_NAME
--------------------------------------------------------------------------------------------------------------------------------
REGIONS
COUNTRIES
LOCATIONS
DEPARTMENTS
JOBS
EMPLOYEES
JOB_HISTORY
7 rows selected.
COUNTRIES
DEPARTMENTS
EMPLOYEES
JOBS
JOB_HISTORY
LOCATIONS
OBJECT_NAME
REGIONS
### Test --show-databases
TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FOR EXTENT_MAN ALLOCATIO SEGMEN DEF_TAB_ RETENTION BIG PREDICA ENC COMPRESS_FOR

View file

@ -1,34 +1,10 @@
### Test -p --interactive
spawn /tmp/parallel-script-for-expect
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
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.
To silence the citation notice: run 'parallel --citation'.
sleep 0.1; echo opt-p 1 ?...y
sleep 0.1; echo opt-p 2 ?...n
sleep 0.1; echo opt-p 3 ?...y
opt-p 1
opt-p 3
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
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.
To silence the citation notice: run 'parallel --citation'.
sleep 0.1; echo opt--interactive 1 ?...y
sleep 0.1; echo opt--interactive 2 ?...n
sleep 0.1; echo opt--interactive 3 ?...y
@ -41,47 +17,19 @@ echo '### Test killing children with --timeout and exit value (failed if timed o
0 0 0
2
0 0 0
xargs Expect: 3 1 2
xargs Expect: 3 1
3
1
2
parallel Expect: 3 1 via psedotty 2
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
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.
To silence the citation notice: run 'parallel --citation'.
3
1
via pseudotty
2
xargs Expect: 1 3 2
via pseudotty
1
xargs Expect: 1 3
1
3
2
parallel Expect: 1 3 2 via pseudotty
Academic tradition requires you to cite works you base your article on.
When using programs that use GNU Parallel to process data for publication
please cite:
O. Tange (2011): GNU Parallel - The Command-Line Power Tool,
;login: The USENIX Magazine, February 2011:42-47.
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.
To silence the citation notice: run 'parallel --citation'.
via pseudotty
1
3
2
via pseudotty
### Hans found a bug giving unitialized variable
gzip /tmp/parallel_f1