mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-22 20:57:53 +00:00
parallel: Simpler job scheduling flow.
This commit is contained in:
parent
addb7ee8b4
commit
8286e771ec
|
@ -206,9 +206,9 @@ from:tange@gnu.org
|
|||
to:parallel@gnu.org, bug-parallel@gnu.org
|
||||
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
||||
|
||||
Subject: GNU Parallel 20181122 ('Kilogram/brexitdeal/Stan Lee/Cesar Sayoc/Tree of Life/Iran') released <<[stable]>>
|
||||
Subject: GNU Parallel 20181222 ('Kilogram/brexitdeal/Stan Lee/Cesar Sayoc/Tree of Life/Iran') released <<[stable]>>
|
||||
|
||||
GNU Parallel 20181122 ('') <<[stable]>> has been released. It is available for download at: http://ftpmirror.gnu.org/parallel/
|
||||
GNU Parallel 20181222 ('') <<[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.>>
|
||||
|
||||
|
@ -216,9 +216,7 @@ Quote of the month:
|
|||
|
||||
New in this release:
|
||||
|
||||
* https://codeday.me/bug/20181015/298447.html
|
||||
|
||||
* https://qiita.com//grohiro/items/4db3fa951a4778c5c479
|
||||
* https://qiita.com/hana_shin/items/53c3c78525c9c758ae7c
|
||||
|
||||
* Bug fixes and man page updates.
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
use strict;
|
||||
use Getopt::Long;
|
||||
$Global::progname="niceload";
|
||||
$Global::version = 20181122;
|
||||
$Global::version = 20181124;
|
||||
Getopt::Long::Configure("bundling","require_order");
|
||||
get_options_from_array(\@ARGV) || die_usage();
|
||||
if($opt::version) {
|
||||
|
|
264
src/parallel
264
src/parallel
|
@ -120,17 +120,27 @@ if($Global::semaphore) {
|
|||
$sem = acquire_semaphore();
|
||||
}
|
||||
$SIG{TERM} = \&start_no_new_jobs;
|
||||
while(start_more_jobs()) {}
|
||||
|
||||
if($opt::tee) {
|
||||
# All jobs must be running in parallel for --tee
|
||||
while(start_more_jobs()) {}
|
||||
$Global::start_no_new_jobs = 1;
|
||||
if(not $Global::JobQueue->empty()) {
|
||||
::error("--tee requres --jobs to be higher. Try --jobs 0.");
|
||||
::wait_and_exit(255);
|
||||
}
|
||||
} elsif($opt::pipe and not $opt::pipepart) {
|
||||
# Fill all jobslots
|
||||
while(start_more_jobs()) {}
|
||||
spreadstdin();
|
||||
} else {
|
||||
# Reap one - start one
|
||||
while(reaper() + start_more_jobs()) {}
|
||||
}
|
||||
::debug("init", "Start draining\n");
|
||||
drain_job_queue();
|
||||
::debug("init", "Done draining\n");
|
||||
reaper();
|
||||
reapers();
|
||||
::debug("init", "Done reaping\n");
|
||||
if($Global::semaphore) {
|
||||
$sem->release();
|
||||
|
@ -186,11 +196,14 @@ sub max_jobs_running {
|
|||
# Returns:
|
||||
# $Global::max_jobs_running
|
||||
if(not $Global::max_jobs_running) {
|
||||
|
||||
for my $sshlogin (values %Global::host) {
|
||||
$sshlogin->max_jobs_running();
|
||||
}
|
||||
}
|
||||
if(not $Global::max_jobs_running) {
|
||||
::error("Cannot run any jobs.");
|
||||
wait_and_exit(255);
|
||||
}
|
||||
return $Global::max_jobs_running;
|
||||
}
|
||||
|
||||
|
@ -462,15 +475,6 @@ sub spreadstdin {
|
|||
# %Global::running
|
||||
# Returns: N/A
|
||||
|
||||
if($opt::tee) {
|
||||
# Spawn all jobs
|
||||
# read a record
|
||||
# Write record to all jobs
|
||||
if(not $Global::JobQueue->empty()) {
|
||||
::error("--tee requres --jobs to be higher. Try --jobs 0.");
|
||||
}
|
||||
}
|
||||
|
||||
my $buf = "";
|
||||
my ($recstart,$recend) = recstartrecend();
|
||||
my $recendrecstart = $recend.$recstart;
|
||||
|
@ -1555,7 +1559,7 @@ sub check_invalid_option_combinations {
|
|||
|
||||
sub init_globals {
|
||||
# Defaults:
|
||||
$Global::version = 20181122;
|
||||
$Global::version = 20181124;
|
||||
$Global::progname = 'parallel';
|
||||
$Global::infinity = 2**31;
|
||||
$Global::debug = 0;
|
||||
|
@ -4035,86 +4039,95 @@ sub start_no_new_jobs {
|
|||
$Global::start_no_new_jobs ||= 1;
|
||||
}
|
||||
|
||||
sub reapers {
|
||||
# Run reaper until there are no more left
|
||||
# Returns:
|
||||
# @pids_reaped = pids of reaped processes
|
||||
my @pids_reaped;
|
||||
my $pid;
|
||||
while($pid = reaper()) {
|
||||
push @pids_reaped, $pid;
|
||||
}
|
||||
return @pids_reaped;
|
||||
}
|
||||
|
||||
sub reaper {
|
||||
# A job finished.
|
||||
# Print the output.
|
||||
# Start another job
|
||||
# A job finished:
|
||||
# * Set exitstatus, exitsignal, endtime.
|
||||
# * Free ressources for new job
|
||||
# * Update median runtime
|
||||
# * Print output
|
||||
# * If --halt = now: Kill children
|
||||
# * Print progress
|
||||
# Uses:
|
||||
# %Global::sshmaster
|
||||
# %Global::running
|
||||
# $opt::timeout
|
||||
# $Global::timeoutq
|
||||
# $opt::halt
|
||||
# $opt::keeporder
|
||||
# $Global::total_running
|
||||
# Returns:
|
||||
# @pids_reaped = PIDs of children finished
|
||||
# $stiff = PID of child finished
|
||||
my $stiff;
|
||||
my @pids_reaped;
|
||||
my $total_reaped;
|
||||
debug("run", "Reaper ");
|
||||
if (($stiff = waitpid(-1, &WNOHANG)) > 0) {
|
||||
# $stiff = pid of dead process
|
||||
if(wantarray) {
|
||||
push(@pids_reaped,$stiff);
|
||||
}
|
||||
$total_reaped++;
|
||||
if($Global::sshmaster{$stiff}) {
|
||||
# This is one of the ssh -M: ignore
|
||||
next;
|
||||
}
|
||||
my $job = $Global::running{$stiff};
|
||||
if(($stiff = waitpid(-1, &WNOHANG)) <= 0) {
|
||||
# No jobs waiting to be reaped
|
||||
return 0;
|
||||
}
|
||||
|
||||
# '-a <(seq 10)' will give us a pid not in %Global::running
|
||||
$job or return 0;
|
||||
delete $Global::running{$stiff};
|
||||
$Global::total_running--;
|
||||
if($job->{'commandline'}{'skip'}) {
|
||||
# $job->skip() was called
|
||||
$job->set_exitstatus(-2);
|
||||
$job->set_exitsignal(0);
|
||||
# $stiff = pid of dead process
|
||||
my $job = $Global::running{$stiff};
|
||||
|
||||
# '-a <(seq 10)' will give us a pid not in %Global::running
|
||||
# The same will one of the ssh -M: ignore
|
||||
$job or return 0;
|
||||
delete $Global::running{$stiff};
|
||||
$Global::total_running--;
|
||||
if($job->{'commandline'}{'skip'}) {
|
||||
# $job->skip() was called
|
||||
$job->set_exitstatus(-2);
|
||||
$job->set_exitsignal(0);
|
||||
} else {
|
||||
$job->set_exitstatus($? >> 8);
|
||||
$job->set_exitsignal($? & 127);
|
||||
}
|
||||
|
||||
debug("run", "seq ",$job->seq()," died (", $job->exitstatus(), ")");
|
||||
$job->set_endtime(::now());
|
||||
my $sshlogin = $job->sshlogin();
|
||||
$sshlogin->dec_jobs_running();
|
||||
if($job->should_be_retried()) {
|
||||
# Free up file handles
|
||||
$job->free_ressources();
|
||||
} else {
|
||||
# The job is done
|
||||
$sshlogin->inc_jobs_completed();
|
||||
# Free the jobslot
|
||||
$job->free_slot();
|
||||
if($opt::timeout and not $job->exitstatus()) {
|
||||
# Update average runtime for timeout only for successful jobs
|
||||
$Global::timeoutq->update_median_runtime($job->runtime());
|
||||
}
|
||||
if($opt::keeporder) {
|
||||
$job->print_earlier_jobs();
|
||||
} else {
|
||||
$job->set_exitstatus($? >> 8);
|
||||
$job->set_exitsignal($? & 127);
|
||||
$job->print();
|
||||
}
|
||||
|
||||
debug("run", "seq ",$job->seq()," died (", $job->exitstatus(), ")");
|
||||
$job->set_endtime(::now());
|
||||
my $sshlogin = $job->sshlogin();
|
||||
$sshlogin->dec_jobs_running();
|
||||
if($job->should_be_retried()) {
|
||||
# Free up file handles
|
||||
$job->free_ressources();
|
||||
} else {
|
||||
# The job is done
|
||||
$sshlogin->inc_jobs_completed();
|
||||
# Free the jobslot
|
||||
$job->free_slot();
|
||||
if($opt::timeout and not $job->exitstatus()) {
|
||||
# Update average runtime for timeout only for successful jobs
|
||||
$Global::timeoutq->update_median_runtime($job->runtime());
|
||||
}
|
||||
if($opt::keeporder) {
|
||||
$job->print_earlier_jobs();
|
||||
} else {
|
||||
$job->print();
|
||||
}
|
||||
if($job->should_we_halt() eq "now") {
|
||||
# Kill children
|
||||
::kill_sleep_seq($job->pid());
|
||||
::killall();
|
||||
::wait_and_exit($Global::halt_exitstatus);
|
||||
}
|
||||
}
|
||||
$job->cleanup();
|
||||
|
||||
if($opt::progress) {
|
||||
my %progress = progress();
|
||||
::status_no_nl("\r",$progress{'status'});
|
||||
if($job->should_we_halt() eq "now") {
|
||||
# Kill children
|
||||
::kill_sleep_seq($job->pid());
|
||||
::killall();
|
||||
::wait_and_exit($Global::halt_exitstatus);
|
||||
}
|
||||
}
|
||||
$job->cleanup();
|
||||
|
||||
if($opt::progress) {
|
||||
my %progress = progress();
|
||||
::status_no_nl("\r",$progress{'status'});
|
||||
}
|
||||
|
||||
debug("run", "done ");
|
||||
return wantarray ? @pids_reaped : $total_reaped;
|
||||
return $stiff;
|
||||
}
|
||||
|
||||
|
||||
|
@ -4123,8 +4136,11 @@ sub __USAGE__ {}
|
|||
|
||||
sub killall {
|
||||
# Kill all jobs by killing their process groups
|
||||
|
||||
# Uses:
|
||||
# $Global::start_no_new_jobs = we are stopping
|
||||
# $Global::killall = Flag to not run reaper
|
||||
$Global::start_no_new_jobs ||= 1;
|
||||
# Do not reap killed children: Ignore them instead
|
||||
$Global::killall ||= 1;
|
||||
kill_sleep_seq(keys %Global::running);
|
||||
}
|
||||
|
@ -4145,35 +4161,35 @@ sub kill_sleep_seq {
|
|||
}
|
||||
|
||||
sub kill_sleep {
|
||||
# Kill pids with a signal and wait a while for them to die
|
||||
# Input:
|
||||
# $signal = signal to send to @pids
|
||||
# $sleep_max = number of ms to sleep at most before returning
|
||||
# @pids = pids to kill (actually process groups)
|
||||
# Uses:
|
||||
# $Global::killall = set by killall() to avoid calling reaper
|
||||
# Returns:
|
||||
# @pids = pids still alive
|
||||
my ($signal, $sleep_max, @pids) = @_;
|
||||
::debug("kill","kill_sleep $signal ",(join " ",sort @pids),"\n");
|
||||
kill $signal, @pids;
|
||||
my $sleepsum = 0;
|
||||
my $sleep = 0.001;
|
||||
my @dead;
|
||||
|
||||
while(@pids and $sleepsum < $sleep_max) {
|
||||
if($Global::killall) {
|
||||
# Killall => don't run reaper
|
||||
my $stiff;
|
||||
while (($stiff = waitpid(-1, &WNOHANG)) > 0) {
|
||||
# remove $stiff from @pids
|
||||
@pids = grep { $_ != $stiff } @pids;
|
||||
while(waitpid(-1, &WNOHANG) > 0) {
|
||||
$sleep = $sleep/2+0.001;
|
||||
}
|
||||
} elsif(@dead = reaper()) {
|
||||
# Remove reaped pids
|
||||
for my $stiff (@dead) {
|
||||
@pids = grep { $_ != $stiff } @pids;
|
||||
}
|
||||
} elsif(reapers()) {
|
||||
$sleep = $sleep/2+0.001;
|
||||
}
|
||||
@pids = grep { kill( 0, $_) } @pids;
|
||||
$sleep *= 1.1;
|
||||
::usleep($sleep);
|
||||
$sleepsum += $sleep;
|
||||
# Remove dead children
|
||||
@pids = grep { kill( 0, $_) } @pids;
|
||||
# Keep only living children
|
||||
@pids = grep { kill(0, $_) } @pids;
|
||||
}
|
||||
return @pids;
|
||||
}
|
||||
|
@ -4188,7 +4204,7 @@ sub wait_and_exit {
|
|||
killall();
|
||||
}
|
||||
for (keys %Global::unkilled_children) {
|
||||
# Kill any (non-jobs) children
|
||||
# Kill any (non-jobs) children (e.g. reserved processes)
|
||||
kill 9, $_;
|
||||
waitpid($_,0);
|
||||
delete $Global::unkilled_children{$_};
|
||||
|
@ -5095,8 +5111,7 @@ sub reap_usleep {
|
|||
# $ms/2+0.001 if children reaped
|
||||
# $ms*1.1 if no children reaped
|
||||
my $ms = shift;
|
||||
if(reaper()) {
|
||||
while(reaper()) {}
|
||||
if(reapers()) {
|
||||
if(not $Global::total_completed % 100) {
|
||||
if($opt::timeout) {
|
||||
# Force cleaning the timeout queue for every 1000 jobs
|
||||
|
@ -6302,7 +6317,7 @@ sub simultaneous_sshlogin_limit {
|
|||
my $serverlogin = $self->serverlogin();
|
||||
::warning("ssh to $serverlogin only allows ".
|
||||
"for $ssh_limit simultaneous logins.",
|
||||
"You may raise this by changing ".
|
||||
"You may raise this by changing",
|
||||
"/etc/ssh/sshd_config:MaxStartups and MaxSessions on $serverlogin.",
|
||||
"You can also try --sshdelay 0.1",
|
||||
"Using only ".($ssh_limit-1)." connections ".
|
||||
|
@ -6316,9 +6331,12 @@ sub simultaneous_sshlogin_limit {
|
|||
sub simultaneous_sshlogin {
|
||||
# Using $sshlogin try to see if we can do $wanted_processes
|
||||
# simultaneous logins
|
||||
# (ssh host echo simultaneouslogin & ssh host echo simultaneouslogin & ...)|grep simul|wc -l
|
||||
# (ssh host echo simul-login & ssh host echo simul-login & ...) |
|
||||
# grep simul|wc -l
|
||||
# Input:
|
||||
# $wanted_processes = Try for this many logins in parallel
|
||||
# Returns:
|
||||
# Number of succesful logins
|
||||
# $ssh_limit = Number of succesful parallel logins
|
||||
local $/ = "\n";
|
||||
my $self = shift;
|
||||
my $wanted_processes = shift;
|
||||
|
@ -6326,7 +6344,8 @@ sub simultaneous_sshlogin {
|
|||
my $serverlogin = $self->serverlogin();
|
||||
my $sshdelay = $opt::sshdelay ? "sleep $opt::sshdelay;" : "";
|
||||
# TODO sh -c wrapper to work for csh
|
||||
my $cmd = "$sshdelay$sshcmd $serverlogin -- echo simultaneouslogin </dev/null 2>&1 &"x$wanted_processes;
|
||||
my $cmd = ("$sshdelay$sshcmd $serverlogin -- ".
|
||||
"echo simultaneouslogin </dev/null 2>&1 &")x$wanted_processes;
|
||||
::debug("init", "Trying $wanted_processes logins at $serverlogin\n");
|
||||
open (my $simul_fh, "-|", "($cmd)|grep simultaneouslogin | wc -l") or
|
||||
::die_bug("simultaneouslogin");
|
||||
|
@ -6343,8 +6362,10 @@ sub set_ncpus {
|
|||
|
||||
sub user_requested_processes {
|
||||
# Parse the number of processes that the user asked for using -j
|
||||
# Input:
|
||||
# $opt_P = string formatted as for -P
|
||||
# Returns:
|
||||
# the number of processes to run on this sshlogin
|
||||
# $processes = the number of processes to run on this sshlogin
|
||||
my $self = shift;
|
||||
my $opt_P = shift;
|
||||
my $processes;
|
||||
|
@ -6390,6 +6411,11 @@ sub user_requested_processes {
|
|||
}
|
||||
|
||||
sub ncpus {
|
||||
# Number of CPU threads
|
||||
# --use_sockets_instead_of_threads = count socket instead
|
||||
# --use_cores_instead_of_threads = count physical cores instead
|
||||
# Returns:
|
||||
# $ncpus = number of cpu (threads) on this sshlogin
|
||||
local $/ = "\n";
|
||||
my $self = shift;
|
||||
if(not defined $self->{'ncpus'}) {
|
||||
|
@ -6886,6 +6912,8 @@ sub sct_tru64() {
|
|||
}
|
||||
|
||||
sub sshcommand {
|
||||
# Returns:
|
||||
# $sshcommand = the command (incl options) to run when using ssh
|
||||
my $self = shift;
|
||||
if (not defined $self->{'sshcommand'}) {
|
||||
$self->sshcommand_of_sshlogin();
|
||||
|
@ -6894,6 +6922,8 @@ sub sshcommand {
|
|||
}
|
||||
|
||||
sub serverlogin {
|
||||
# Returns:
|
||||
# $sshcommand = the command (incl options) to run when using ssh
|
||||
my $self = shift;
|
||||
if (not defined $self->{'serverlogin'}) {
|
||||
$self->sshcommand_of_sshlogin();
|
||||
|
@ -6902,14 +6932,15 @@ sub serverlogin {
|
|||
}
|
||||
|
||||
sub sshcommand_of_sshlogin {
|
||||
# Compute ssh command and serverlogin from sshlogin
|
||||
# 'server' -> ('ssh -S /tmp/parallel-ssh-RANDOM/host-','server')
|
||||
# 'user@server' -> ('ssh','user@server')
|
||||
# 'myssh user@server' -> ('myssh','user@server')
|
||||
# 'myssh -l user server' -> ('myssh -l user','server')
|
||||
# '/usr/bin/myssh -l user server' -> ('/usr/bin/myssh -l user','server')
|
||||
# Returns:
|
||||
# sshcommand - defaults to 'ssh'
|
||||
# login@host
|
||||
# Sets:
|
||||
# $self->{'sshcommand'}
|
||||
# $self->{'serverlogin'}
|
||||
my $self = shift;
|
||||
my ($sshcmd, $serverlogin);
|
||||
# If $opt::ssh is unset, use $PARALLEL_SSH or 'ssh'
|
||||
|
@ -6963,7 +6994,7 @@ sub sshcommand_of_sshlogin {
|
|||
|
||||
sub control_path_dir {
|
||||
# Returns:
|
||||
# path to directory
|
||||
# $control_path_dir = dir of control path (for -M)
|
||||
my $self = shift;
|
||||
if(not defined $self->{'control_path_dir'}) {
|
||||
$self->{'control_path_dir'} =
|
||||
|
@ -7051,6 +7082,8 @@ sub cleanup_cmd {
|
|||
sub rsync {
|
||||
# rsync 3.1.x uses protocol 31 which is unsupported by 2.5.7.
|
||||
# If the version >= 3.1.0: downgrade to protocol 30
|
||||
# Returns:
|
||||
# $rsync = "rsync" or "rsync --protocol 30"
|
||||
if(not $rsync) {
|
||||
my @out = `rsync --version`;
|
||||
for (@out) {
|
||||
|
@ -7117,8 +7150,8 @@ sub unget {
|
|||
|
||||
sub empty {
|
||||
my $self = shift;
|
||||
my $empty = (not @{$self->{'unget'}})
|
||||
&& $self->{'commandlinequeue'}->empty();
|
||||
my $empty = (not @{$self->{'unget'}}) &&
|
||||
$self->{'commandlinequeue'}->empty();
|
||||
::debug("run", "JobQueue->empty $empty ");
|
||||
return $empty;
|
||||
}
|
||||
|
@ -7487,7 +7520,7 @@ sub grouped {
|
|||
open(my $fdr,"<", $self->fh($fdno,'name')) ||
|
||||
::die_bug("fdr: Cannot open ".$self->fh($fdno,'name'));
|
||||
$self->set_fh($fdno,'r',$fdr);
|
||||
# Unlink if required
|
||||
# Unlink if not debugging
|
||||
$Global::debug or ::rm($self->fh($fdno,"unlink"));
|
||||
}
|
||||
}
|
||||
|
@ -9993,12 +10026,12 @@ sub replaced {
|
|||
|
||||
sub replace_placeholders {
|
||||
# Replace foo{}bar with fooargbar
|
||||
# Uses:
|
||||
# @Arg::arg = arguments as strings to be use in {= =}
|
||||
# Input:
|
||||
# $targetref = command as shell words
|
||||
# $quote = should everything be quoted?
|
||||
# $quote_arg = should replaced arguments be quoted?
|
||||
# Uses:
|
||||
# @Arg::arg = arguments as strings to be use in {= =}
|
||||
# Returns:
|
||||
# @target with placeholders replaced
|
||||
my $self = shift;
|
||||
|
@ -10524,7 +10557,8 @@ sub unget {
|
|||
|
||||
sub empty {
|
||||
my $self = shift;
|
||||
my $empty = (not @{$self->{'unget'}}) && $self->{'arg_queue'}->empty();
|
||||
my $empty = (not @{$self->{'unget'}}) &&
|
||||
$self->{'arg_queue'}->empty();
|
||||
::debug("run", "CommandLineQueue->empty $empty");
|
||||
return $empty;
|
||||
}
|
||||
|
@ -10745,8 +10779,8 @@ sub unget {
|
|||
|
||||
sub empty {
|
||||
my $self = shift;
|
||||
my $empty = not @{$self->{'unget'}};
|
||||
$empty &&= $self->{'arg_sub_queue'}->empty();
|
||||
my $empty = (not @{$self->{'unget'}}) &&
|
||||
$self->{'arg_sub_queue'}->empty();
|
||||
::debug("run", "RecordQueue->empty $empty");
|
||||
return $empty;
|
||||
}
|
||||
|
@ -10821,8 +10855,8 @@ sub unget {
|
|||
|
||||
sub empty {
|
||||
my $self = shift;
|
||||
my $empty = (not @{$self->{'unget'}} and
|
||||
$self->{'arg_sub_queue'}->empty());
|
||||
my $empty = (not @{$self->{'unget'}}) &&
|
||||
$self->{'arg_sub_queue'}->empty();
|
||||
::debug("run", "RecordColQueue->empty $empty");
|
||||
return $empty;
|
||||
}
|
||||
|
@ -10907,8 +10941,8 @@ sub unget {
|
|||
|
||||
sub empty {
|
||||
my $self = shift;
|
||||
my $empty = (not @Global::unget_argv
|
||||
and not @{$self->{'unget'}});
|
||||
my $empty = (not @Global::unget_argv) &&
|
||||
not @{$self->{'unget'}};
|
||||
for my $fh (@{$self->{'fhs'}}) {
|
||||
$empty &&= eof($fh);
|
||||
}
|
||||
|
|
2
src/sql
2
src/sql
|
@ -576,7 +576,7 @@ $Global::Initfile && unlink $Global::Initfile;
|
|||
exit ($err);
|
||||
|
||||
sub parse_options {
|
||||
$Global::version = 20181122;
|
||||
$Global::version = 20181124;
|
||||
$Global::progname = 'sql';
|
||||
|
||||
# This must be done first as this may exec myself
|
||||
|
|
|
@ -854,6 +854,17 @@ par_empty_input_on_stdin() {
|
|||
true | stdout parallel --shuf echo
|
||||
}
|
||||
|
||||
par_tee_too_many_args() {
|
||||
echo '### Fail if there are more arguments than --jobs'
|
||||
seq 11 |parallel -k --tag --pipe -j4 --tee grep {} ::: {1..4}
|
||||
seq 11 |parallel -k --tag --pipe -j4 --tee grep {} ::: {1..5}
|
||||
}
|
||||
|
||||
par_space_envvar() {
|
||||
echo "### bug: --gnu was ignored if env var started with space: PARALLEL=' --gnu'"
|
||||
export PARALLEL=" -v" && parallel echo ::: 'space in envvar OK'
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
compgen -A function | grep par_ | LC_ALL=C sort |
|
||||
parallel -j6 --tag -k --joblog +/tmp/jl-`basename $0` '{} 2>&1'
|
||||
|
|
|
@ -354,7 +354,6 @@ par_long_line_remote() {
|
|||
parallel -j1 -S lo -N 10000 echo {} |wc
|
||||
}
|
||||
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
compgen -A function | grep par_ | LC_ALL=C sort |
|
||||
parallel --joblog /tmp/jl-`basename $0` -j10 --tag -k '{} 2>&1'
|
||||
|
|
|
@ -151,7 +151,7 @@ par_test_detected_shell() {
|
|||
tmp="/tmp/test_unknown_shell_$shell"
|
||||
cp $(which "$shell") "$tmp"
|
||||
chmod +x "$tmp"
|
||||
$tmp -c 'ppar -Dinit echo ::: 1; true' |
|
||||
$tmp -c 'parallel -Dinit echo ::: 1; true' |
|
||||
grep Global::shell
|
||||
rm "$tmp"
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ export -f perl5.14parallel
|
|||
|
||||
par_2gb_records_N() {
|
||||
echo '### bug #44358: 2 GB records cause problems for -N'
|
||||
echo '5 GB version: Eats 12.5 GB'
|
||||
echo '5 GB version: Eats 12.5 GB RAM + 4 GB Swap'
|
||||
(gendata 5000MB; echo FOO;
|
||||
gendata 3000MB; echo FOO;
|
||||
gendata 1000MB;) |
|
||||
|
@ -33,7 +33,7 @@ par_2gb_records_N() {
|
|||
perl5.14parallel --pipe --recend FOO -N2 --block 1g -k LANG=c wc -c
|
||||
|
||||
echo '### -L >4GB';
|
||||
echo 'Eats 12.5 GB';
|
||||
echo 'Eats 12.5 GB RAM + 6 GB Swap';
|
||||
(head -c 5000MB /dev/zero; echo FOO;
|
||||
head -c 3000MB /dev/zero; echo FOO;
|
||||
head -c 1000MB /dev/zero;) |
|
||||
|
|
|
@ -125,6 +125,22 @@ par_linebuffer_tag_slow_output() {
|
|||
parallel --delay 0.5 -j0 --tag --line-buffer halfline ::: a b
|
||||
}
|
||||
|
||||
par_continuous_output() {
|
||||
# After the first batch, each jobs should output when it finishes.
|
||||
# Old versions delayed output by $jobslots jobs
|
||||
doit() {
|
||||
echo "Test delayed output with '$1'"
|
||||
echo "-u is optimal but hard to reach, due to non-mixing"
|
||||
seq 10 |
|
||||
parallel -j1 $1 --delay 1 -N0 echo |
|
||||
parallel -j4 $1 -N0 'sleep 0.6;date' |
|
||||
timestamp -dd |
|
||||
perl -pe 's/(.).*/$1/'
|
||||
}
|
||||
export -f doit
|
||||
parallel -k doit ::: '' -u
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
compgen -A function | grep par_ | sort |
|
||||
# parallel --joblog /tmp/jl-`basename $0` -j10 --tag -k '{} 2>&1'
|
||||
|
|
|
@ -40,11 +40,6 @@ echo '### bug #45906: {= in header =}'
|
|||
parallel --rpl '{G} $_=lc($_)' -S parallel@lo --return {G} --cleanup echo {G} '>' {G} ::: RETURNFILE45906;
|
||||
ls returnfile45906
|
||||
|
||||
echo '### bug #45907: --header : + --return {header}'
|
||||
rm returnfile45907;
|
||||
ppar --header : -S parallel@lo --return {G} --cleanup echo {G} '>' {G} ::: G returnfile45907;
|
||||
ls returnfile45907
|
||||
|
||||
echo "### bug #47608: parallel --nonall -S lo 'echo ::: ' blocks"
|
||||
parallel --nonall -S lo 'echo ::: '
|
||||
|
||||
|
@ -59,6 +54,13 @@ echo '### bug #49404: "Max jobs to run" does not equal the number of jobs specif
|
|||
stdout parallel -S 16/lo --progress true ::: {1..10} | grep /.10
|
||||
EOF
|
||||
|
||||
par_header_in_return() {
|
||||
echo '### bug #45907: --header : + --return {header}'
|
||||
rm returnfile45907
|
||||
parallel --header : -S parallel@lo --return {G} --cleanup echo {G} '>' {G} ::: G returnfile45907
|
||||
ls returnfile45907
|
||||
}
|
||||
|
||||
par_trc_with_space() {
|
||||
echo '### Test --trc with space added in filename'
|
||||
cd
|
||||
|
|
|
@ -153,11 +153,25 @@ par_env_parallel_big_env() {
|
|||
env_parallel -Slo echo should ::: fail 2>/dev/null || echo OK
|
||||
}
|
||||
|
||||
par_no_route_to_host() {
|
||||
echo '### no route to host with | and -j0 causes inf loop'
|
||||
via_parallel() {
|
||||
seq 11 | stdout parallel -j0 -S 192.168.1.199 echo
|
||||
}
|
||||
export -f via_parallel
|
||||
raw() {
|
||||
stdout ssh 192.168.1.199 echo
|
||||
}
|
||||
export -f raw
|
||||
|
||||
parallel -k ::: raw via_parallel
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep par_)
|
||||
#compgen -A function | grep par_ | sort | parallel --delay $D -j$P --tag -k '{} 2>&1'
|
||||
#compgen -A function | grep par_ | sort |
|
||||
compgen -A function | grep par_ | sort -r |
|
||||
# parallel --joblog /tmp/jl-`basename $0` --delay $D -j$P --tag -k '{} 2>&1'
|
||||
parallel --joblog /tmp/jl-`basename $0` -j200% --tag -k '{} 2>&1' |
|
||||
parallel --joblog /tmp/jl-`basename $0` --delay 0.1 -j200% --tag -k '{} 2>&1' |
|
||||
perl -pe 's/line \d\d\d+:/line XXX:/' |
|
||||
perl -pe 's/\[\d\d\d+\]:/[XXX]:/'
|
||||
|
|
|
@ -255,13 +255,13 @@ echo 'Because of -t these lines can be flipped around therefore sort'
|
|||
stdout parallel -k -X -s30 -t echo < stairs.xi | sort
|
||||
echo '### -t echo this plus that < space.xi'
|
||||
stdout xargs -t echo this plus that < space.xi
|
||||
stdout parallel -k -t echo this plus that < space.xi
|
||||
stdout parallel -k -t echo this plus that < space.xi | sort
|
||||
echo '### -n1 printf "@%s@\n" < empty.xi'
|
||||
stdout xargs -n1 printf "@%s@\n" < empty.xi
|
||||
stdout parallel -k -n1 printf "@%s@\n" < empty.xi
|
||||
echo '### -n2 -t echo < foobar.xi'
|
||||
stdout xargs -n2 -t echo < foobar.xi
|
||||
stdout parallel -k -n2 -t echo < foobar.xi
|
||||
stdout parallel -k -n2 -t echo < foobar.xi | sort
|
||||
|
||||
EOF
|
||||
|
||||
|
|
|
@ -133,7 +133,4 @@ echo 'bug #34241: --pipe should not spawn unneeded processes - part 2'
|
|||
echo No .par should exist;
|
||||
stdout ls *.par
|
||||
|
||||
echo "bug: --gnu was ignored if env var started with space: PARALLEL=' --gnu'"
|
||||
export PARALLEL=" -v" && parallel echo ::: 'space in envvar OK'
|
||||
|
||||
EOF
|
||||
|
|
|
@ -82,6 +82,9 @@ perl -ne '$/="\n\n"; /^Output/../^[^O]\S/ and next; /^ / and print;' ../../src/
|
|||
s{rsync error: some files/attrs were not transferred .*\n}{};
|
||||
s{.* GtkDialog .*\n}{};
|
||||
' |
|
||||
perl -ne '/GTK2_RC_FILES/ and next;
|
||||
/GTK_RC_FILES/ and next;
|
||||
print' |
|
||||
uniq
|
||||
# 3+3 .par files (from --files), 1 .tms-file from tmux attach
|
||||
find {$TMPDIR,/var/tmp,/tmp}/{fif,tms,par[^a]}* -mmin -10 2>/dev/null | wc -l
|
||||
|
|
|
@ -1251,11 +1251,9 @@ par_PARALLEL_ENV OK as file
|
|||
par_PARALLEL_ENV ### PARALLEL_ENV as fifo
|
||||
par_PARALLEL_ENV OK as fifo
|
||||
par_X_eta_div_zero ### bug #34422: parallel -X --eta crashes with div by zero
|
||||
par_X_eta_div_zero
|
||||
par_X_eta_div_zero 0
|
||||
par_X_eta_div_zero Computers / CPU cores / Max jobs to run
|
||||
par_X_eta_div_zero 0:local / 0 / 0
|
||||
par_X_eta_div_zero
|
||||
par_X_eta_div_zero Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete
|
||||
par_append_joblog ### can you append to a joblog using +
|
||||
par_append_joblog 1
|
||||
par_append_joblog 1
|
||||
|
@ -1485,6 +1483,9 @@ par_slow_pipe_regexp ### bug #53718: --pipe --regexp -N blocks
|
|||
par_slow_pipe_regexp This should take a few ms, but took more than 2 hours
|
||||
par_slow_pipe_regexp 979 980 5875
|
||||
par_slow_pipe_regexp 25022 25022 150131
|
||||
par_space_envvar ### bug: --gnu was ignored if env var started with space: PARALLEL=' --gnu'
|
||||
par_space_envvar echo 'space in envvar OK'
|
||||
par_space_envvar space in envvar OK
|
||||
par_tagstring_pipe bug #50228: --pipe --tagstring broken
|
||||
par_tagstring_pipe 1 1000 1000 3893
|
||||
par_tagstring_pipe 2 1000 1000 5000
|
||||
|
@ -1519,6 +1520,14 @@ par_tee 4 -l 122853
|
|||
par_tee 4 -c 815290
|
||||
par_tee 5 -l 122853
|
||||
par_tee 5 -c 815290
|
||||
par_tee_too_many_args ### Fail if there are more arguments than --jobs
|
||||
par_tee_too_many_args 1 1
|
||||
par_tee_too_many_args 1 10
|
||||
par_tee_too_many_args 1 11
|
||||
par_tee_too_many_args 2 2
|
||||
par_tee_too_many_args 3 3
|
||||
par_tee_too_many_args 4 4
|
||||
par_tee_too_many_args parallel: Error: --tee requres --jobs to be higher. Try --jobs 0.
|
||||
par_testquote ash "#&/
|
||||
par_testquote ash ()*=?'
|
||||
par_testquote bash "#&/
|
||||
|
|
|
@ -372,30 +372,6 @@ par_test_build_and_install test -d "parallel-00000000" || mkdir "parallel-000000
|
|||
par_test_build_and_install (cd src && make top_distdir=../parallel-00000000 distdir=../parallel-00000000/src \
|
||||
par_test_build_and_install am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
|
||||
par_test_build_and_install make[0]: Entering directory '~/privat/parallel/src'
|
||||
par_test_build_and_install pod2man --release='00000000' --center='parallel' \
|
||||
par_test_build_and_install --section=1 ./sql > ./sql.1n \
|
||||
par_test_build_and_install && mv ./sql.1n ./sql.1 \
|
||||
par_test_build_and_install || echo "Warning: pod2man not found. Using old sql.1"
|
||||
par_test_build_and_install pod2html --title "GNU SQL" ./sql > ./sql.htmln \
|
||||
par_test_build_and_install && mv ./sql.htmln ./sql.html \
|
||||
par_test_build_and_install || echo "Warning: pod2html not found. Using old sql.html"
|
||||
par_test_build_and_install rm -f ./pod2htm*
|
||||
par_test_build_and_install pod2html --title "GNU niceload" ./niceload.pod > ./niceload.htmln \
|
||||
par_test_build_and_install && mv ./niceload.htmln ./niceload.html \
|
||||
par_test_build_and_install || echo "Warning: pod2html not found. Using old niceload.html"
|
||||
par_test_build_and_install rm -f ./pod2htm*
|
||||
par_test_build_and_install pod2html --title "GNU parcat" ./parcat.pod > ./parcat.htmln \
|
||||
par_test_build_and_install && mv ./parcat.htmln ./parcat.html \
|
||||
par_test_build_and_install || echo "Warning: pod2html not found. Using old parcat.html"
|
||||
par_test_build_and_install rm -f ./pod2htm*
|
||||
par_test_build_and_install pod2html --title "GNU parset" ./parset.pod > ./parset.htmln \
|
||||
par_test_build_and_install && mv ./parset.htmln ./parset.html \
|
||||
par_test_build_and_install || echo "Warning: pod2html not found. Using old parset.html"
|
||||
par_test_build_and_install rm -f ./pod2htm*
|
||||
par_test_build_and_install pod2texi --output=./sql.texi ./sql \
|
||||
par_test_build_and_install || echo "Warning: pod2texi not found. Using old sql.texi"
|
||||
par_test_build_and_install pod2pdf --output-file ./sql.pdf ./sql --title "GNU SQL" \
|
||||
par_test_build_and_install || echo "Warning: pod2pdf not found. Using old sql.pdf"
|
||||
par_test_build_and_install make[0]: Leaving directory '~/privat/parallel/src'
|
||||
par_test_build_and_install test -n "" \
|
||||
par_test_build_and_install || find "parallel-00000000" -type d ! -perm -755 \
|
||||
|
|
|
@ -27,8 +27,8 @@ par_interactive sleep 0.1; echo opt-p 2 ?...n
|
|||
par_interactive sleep 0.1; echo opt-p 3 ?...y
|
||||
par_interactive spawn /tmp/parallel-script-for-expect
|
||||
par_k ### Test -k
|
||||
par_k parallel: Warning: Only enough file handles to run 9 jobs in parallel.
|
||||
par_k parallel: Warning: Running 'parallel -j0 -N 9 --pipe parallel -j0' or
|
||||
par_k parallel: Warning: Only enough file handles to run 8 jobs in parallel.
|
||||
par_k parallel: Warning: Running 'parallel -j0 -N 8 --pipe parallel -j0' or
|
||||
par_k parallel: Warning: raising 'ulimit -n' or 'nofile' in /etc/security/limits.conf
|
||||
par_k parallel: Warning: or /proc/sys/fs/file-max may help.
|
||||
par_k begin
|
||||
|
|
|
@ -15,7 +15,7 @@ par_2gb_record_reading Eats 4.7 GB
|
|||
par_2gb_record_reading parallel: Warning: --blocksize >= 2G causes problems. Using 2G-1.
|
||||
par_2gb_record_reading 2300000004
|
||||
par_2gb_records_N ### bug #44358: 2 GB records cause problems for -N
|
||||
par_2gb_records_N 5 GB version: Eats 12.5 GB
|
||||
par_2gb_records_N 5 GB version: Eats 12.5 GB RAM + 4 GB Swap
|
||||
par_2gb_records_N parallel: Warning: A record was longer than 1000000000. Increasing to --blocksize 1300000001.
|
||||
par_2gb_records_N parallel: Warning: A record was longer than 1300000001. Increasing to --blocksize 1690000003.
|
||||
par_2gb_records_N parallel: Warning: A record was longer than 1690000003. Increasing to --blocksize 2147483647.
|
||||
|
@ -28,7 +28,7 @@ par_2gb_records_N parallel: Warning: A record was longer than 1690000003. Increa
|
|||
par_2gb_records_N 4600000007
|
||||
par_2gb_records_N 1000000001
|
||||
par_2gb_records_N ### -L >4GB
|
||||
par_2gb_records_N Eats 12.5 GB
|
||||
par_2gb_records_N Eats 12.5 GB RAM + 6 GB Swap
|
||||
par_2gb_records_N parallel: Warning: A record was longer than 1000000000. Increasing to --blocksize 1300000001.
|
||||
par_2gb_records_N parallel: Warning: A record was longer than 1300000001. Increasing to --blocksize 1690000003.
|
||||
par_2gb_records_N parallel: Warning: A record was longer than 1690000003. Increasing to --blocksize 2147483647.
|
||||
|
|
|
@ -11,6 +11,30 @@ Control case: Burn for 2.9 seconds
|
|||
|
||||
stdout /usr/bin/time -f CPUTIME=%U parallel --timeout 5 -q perl -e "while(1){ }" ::: 1 | \grep -q CPUTIME=1
|
||||
1=OK 1
|
||||
par_continuous_output Test delayed output with ''
|
||||
par_continuous_output -u is optimal but hard to reach, due to non-mixing
|
||||
par_continuous_output 4
|
||||
par_continuous_output 0
|
||||
par_continuous_output 0
|
||||
par_continuous_output 0
|
||||
par_continuous_output 1
|
||||
par_continuous_output 1
|
||||
par_continuous_output 1
|
||||
par_continuous_output 1
|
||||
par_continuous_output 1
|
||||
par_continuous_output 0
|
||||
par_continuous_output Test delayed output with '-u'
|
||||
par_continuous_output -u is optimal but hard to reach, due to non-mixing
|
||||
par_continuous_output 4
|
||||
par_continuous_output 0
|
||||
par_continuous_output 0
|
||||
par_continuous_output 0
|
||||
par_continuous_output 0
|
||||
par_continuous_output 1
|
||||
par_continuous_output 1
|
||||
par_continuous_output 1
|
||||
par_continuous_output 1
|
||||
par_continuous_output 1
|
||||
par_hostgroup ### --hostgroup force ncpu
|
||||
par_hostgroup parallel
|
||||
par_hostgroup parallel
|
||||
|
|
|
@ -28,7 +28,7 @@ echo '### Stop if all hosts are filtered and there are no hosts left to run on'
|
|||
### Stop if all hosts are filtered and there are no hosts left to run on
|
||||
stdout parallel --filter-hosts -S no-such.host echo ::: 1
|
||||
parallel: Warning: Removed no-such.host.
|
||||
parallel: Error: There are no hosts left to run on.
|
||||
parallel: Error: Cannot run any jobs.
|
||||
echo '### Can csh propagate a variable containing \n'; export A=$(seq 3); parallel -S csh@lo --env A bash -c \''echo "$A"'\' ::: dummy
|
||||
### Can csh propagate a variable containing \n
|
||||
1
|
||||
|
|
|
@ -20,10 +20,6 @@ echo '### bug #45906: {= in header =}'
|
|||
### bug #45906: {= in header =}
|
||||
rm -f returnfile45906; parallel --rpl '{G} $_=lc($_)' -S parallel@lo --return {G} --cleanup echo {G} '>' {G} ::: RETURNFILE45906; ls returnfile45906
|
||||
returnfile45906
|
||||
echo '### bug #45907: --header : + --return {header}'
|
||||
### bug #45907: --header : + --return {header}
|
||||
rm returnfile45907; ppar --header : -S parallel@lo --return {G} --cleanup echo {G} '>' {G} ::: G returnfile45907; ls returnfile45907
|
||||
returnfile45907
|
||||
echo "### bug #47608: parallel --nonall -S lo 'echo ::: ' blocks"
|
||||
### bug #47608: parallel --nonall -S lo 'echo ::: ' blocks
|
||||
parallel --nonall -S lo 'echo ::: '
|
||||
|
@ -39,6 +35,8 @@ echo '### bug #49404: "Max jobs to run" does not equal the number of jobs specif
|
|||
should give 10 running jobs
|
||||
stdout parallel -S 16/lo --progress true ::: {1..10} | grep /.10
|
||||
1:lo / 16 / 10
|
||||
par_header_in_return ### bug #45907: --header : + --return {header}
|
||||
par_header_in_return returnfile45907
|
||||
par_hostgroup_only_on_args ### Auto add hostgroup if given on on argument
|
||||
par_hostgroup_only_on_args parallel: Warning: Adding hostgroups: sh@lo
|
||||
par_hostgroup_only_on_args sh
|
||||
|
|
|
@ -27,7 +27,7 @@ par_path_remote_csh CSH Path before: /bin:/usr/bin with no parallel
|
|||
par_path_remote_csh parallel: Command not found.
|
||||
par_path_remote_csh ^^^^^^^^ Not found is OK
|
||||
par_path_remote_csh parallel: Warning: Removed lo.
|
||||
par_path_remote_csh parallel: Error: There are no hosts left to run on.
|
||||
par_path_remote_csh parallel: Error: Cannot run any jobs.
|
||||
par_path_remote_csh Right now it seems csh does not respect /bin:/usr/bin:/tmp if set from Perl
|
||||
par_path_remote_csh Done
|
||||
par_retries_1 ### Test of --retries - it should run 13 jobs in total
|
||||
|
|
|
@ -54,6 +54,14 @@ par_propagate_env ** test_csh_filter
|
|||
par_propagate_env FOO=test_csh_filter
|
||||
par_propagate_env HOME=~
|
||||
par_propagate_env ** bug #41805 done
|
||||
par_no_route_to_host ### no route to host with | and -j0 causes inf loop
|
||||
par_no_route_to_host ssh: connect to host 192.168.1.199 port 22: No route to host
|
||||
par_no_route_to_host parallel: Warning: ssh to 192.168.1.199 only allows for 0 simultaneous logins.
|
||||
par_no_route_to_host parallel: Warning: You may raise this by changing
|
||||
par_no_route_to_host parallel: Warning: /etc/ssh/sshd_config:MaxStartups and MaxSessions on 192.168.1.199.
|
||||
par_no_route_to_host parallel: Warning: You can also try --sshdelay 0.1
|
||||
par_no_route_to_host parallel: Warning: Using only -1 connections to avoid race conditions.
|
||||
par_no_route_to_host parallel: Error: Cannot run any jobs.
|
||||
par_ksh_embed --embed
|
||||
par_ksh_embed Redirect the output to a file and add your changes at the end:
|
||||
par_ksh_embed /usr/local/bin/parallel --embed > new_script
|
||||
|
|
|
@ -1342,9 +1342,9 @@ echo '### -t echo this plus that < space.xi'
|
|||
stdout xargs -t echo this plus that < space.xi
|
||||
echo this plus that
|
||||
this plus that
|
||||
stdout parallel -k -t echo this plus that < space.xi
|
||||
echo this plus that ''
|
||||
stdout parallel -k -t echo this plus that < space.xi | sort
|
||||
echo this plus that '
'
|
||||
echo this plus that ''
|
||||
this plus that
|
||||
this plus that
|
||||
echo '### -n1 printf "@%s@\n" < empty.xi'
|
||||
|
@ -1365,7 +1365,7 @@ echo foo bar
|
|||
foo bar
|
||||
echo baz ugh
|
||||
baz ugh
|
||||
stdout parallel -k -n2 -t echo < foobar.xi
|
||||
stdout parallel -k -n2 -t echo < foobar.xi | sort
|
||||
echo 'foo bar' 'baz '
|
||||
echo ugh
|
||||
foo bar baz
|
||||
|
|
|
@ -314,8 +314,3 @@ bug #34241: --pipe should not spawn unneeded processes - part 2
|
|||
2
|
||||
No .par should exist
|
||||
ls: cannot access '*.par': No such file or directory
|
||||
echo "bug: --gnu was ignored if env var started with space: PARALLEL=' --gnu'"
|
||||
bug: --gnu was ignored if env var started with space: PARALLEL=' --gnu'
|
||||
export PARALLEL=" -v" && parallel echo ::: 'space in envvar OK'
|
||||
echo 'space in envvar OK'
|
||||
space in envvar OK
|
||||
|
|
|
@ -61,7 +61,7 @@ echo '### Check that 4 processes are really used'
|
|||
echo '### --version must have higher priority than retired options'
|
||||
### --version must have higher priority than retired options
|
||||
$NICEPAR --version -g -Y -U -W -T | tail
|
||||
GNU parallel 20181024
|
||||
GNU parallel 20181124
|
||||
Copyright (C) 2007-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.
|
||||
|
|
|
@ -6,15 +6,12 @@ MAXTIME=50 RETRIES=2 MAXPROC=11 MAXINNERPROC=3
|
|||
< alpha
|
||||
7d4
|
||||
< syllable
|
||||
13d9
|
||||
< debian-ppc
|
||||
28,32d21
|
||||
28,29d24
|
||||
< dragonfly
|
||||
< vax
|
||||
< ultrix
|
||||
31d25
|
||||
< minix
|
||||
< irix
|
||||
34,35d23
|
||||
34,35d27
|
||||
< beaglebone
|
||||
< cubieboard2
|
||||
### Copy commands to servers
|
||||
|
@ -27,6 +24,7 @@ bin/parallel solaris copy solaris bin/parallel parallel
|
|||
bin/parallel openindiana copy openindiana bin/parallel parallel
|
||||
bin/parallel aix copy aix bin/parallel parallel
|
||||
bin/parallel hpux copy hpux bin/parallel parallel
|
||||
bin/parallel debian-ppc copy debian-ppc bin/parallel parallel
|
||||
bin/parallel suse copy suse bin/parallel parallel
|
||||
bin/parallel solaris-x86 copy solaris-x86 bin/parallel parallel
|
||||
bin/parallel mandriva copy mandriva bin/parallel parallel
|
||||
|
@ -41,6 +39,8 @@ bin/parallel netbsd copy netbsd bin/parallel parallel
|
|||
bin/parallel openbsd copy openbsd bin/parallel parallel
|
||||
bin/parallel freebsd copy freebsd bin/parallel parallel
|
||||
bin/parallel debian copy debian bin/parallel parallel
|
||||
bin/parallel ultrix copy ultrix bin/parallel parallel
|
||||
bin/parallel irix copy irix bin/parallel parallel
|
||||
bin/parallel hurd copy hurd bin/parallel parallel
|
||||
bin/parallel minix copy minix bin/parallel parallel
|
||||
bin/env_parallel qnx copy qnx bin/env_parallel env_parallel
|
||||
|
@ -52,6 +52,7 @@ bin/env_parallel solaris copy solaris bin/env_parallel env_parallel
|
|||
bin/env_parallel openindiana copy openindiana bin/env_parallel env_parallel
|
||||
bin/env_parallel aix copy aix bin/env_parallel env_parallel
|
||||
bin/env_parallel hpux copy hpux bin/env_parallel env_parallel
|
||||
bin/env_parallel debian-ppc copy debian-ppc bin/env_parallel env_parallel
|
||||
bin/env_parallel suse copy suse bin/env_parallel env_parallel
|
||||
bin/env_parallel solaris-x86 copy solaris-x86 bin/env_parallel env_parallel
|
||||
bin/env_parallel mandriva copy mandriva bin/env_parallel env_parallel
|
||||
|
@ -66,6 +67,8 @@ bin/env_parallel netbsd copy netbsd bin/env_parallel env_parallel
|
|||
bin/env_parallel openbsd copy openbsd bin/env_parallel env_parallel
|
||||
bin/env_parallel freebsd copy freebsd bin/env_parallel env_parallel
|
||||
bin/env_parallel debian copy debian bin/env_parallel env_parallel
|
||||
bin/env_parallel ultrix copy ultrix bin/env_parallel env_parallel
|
||||
bin/env_parallel irix copy irix bin/env_parallel env_parallel
|
||||
bin/env_parallel hurd copy hurd bin/env_parallel env_parallel
|
||||
bin/env_parallel minix copy minix bin/env_parallel env_parallel
|
||||
bin/env_parallel.ash qnx copy qnx bin/env_parallel.ash env_parallel.ash
|
||||
|
@ -77,6 +80,7 @@ bin/env_parallel.ash solaris copy solaris bin/env_parallel.ash env_parallel.ash
|
|||
bin/env_parallel.ash openindiana copy openindiana bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash aix copy aix bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash hpux copy hpux bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash debian-ppc copy debian-ppc bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash suse copy suse bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash solaris-x86 copy solaris-x86 bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash mandriva copy mandriva bin/env_parallel.ash env_parallel.ash
|
||||
|
@ -91,6 +95,8 @@ bin/env_parallel.ash netbsd copy netbsd bin/env_parallel.ash env_parallel.ash
|
|||
bin/env_parallel.ash openbsd copy openbsd bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash freebsd copy freebsd bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash debian copy debian bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash ultrix copy ultrix bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash irix copy irix bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash hurd copy hurd bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.ash minix copy minix bin/env_parallel.ash env_parallel.ash
|
||||
bin/env_parallel.bash qnx copy qnx bin/env_parallel.bash env_parallel.bash
|
||||
|
@ -102,6 +108,7 @@ bin/env_parallel.bash solaris copy solaris bin/env_parallel.bash env_parallel.ba
|
|||
bin/env_parallel.bash openindiana copy openindiana bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash aix copy aix bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash hpux copy hpux bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash debian-ppc copy debian-ppc bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash suse copy suse bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash solaris-x86 copy solaris-x86 bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash mandriva copy mandriva bin/env_parallel.bash env_parallel.bash
|
||||
|
@ -116,9 +123,10 @@ bin/env_parallel.bash netbsd copy netbsd bin/env_parallel.bash env_parallel.bash
|
|||
bin/env_parallel.bash openbsd copy openbsd bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash freebsd copy freebsd bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash debian copy debian bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash ultrix copy ultrix bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash irix copy irix bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash hurd copy hurd bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash minix copy minix bin/env_parallel.bash env_parallel.bash
|
||||
bin/env_parallel.bash minix cat: stdout: no space left on device
|
||||
bin/env_parallel.csh qnx copy qnx bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh pidora copy pidora bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh tru64 copy tru64 bin/env_parallel.csh env_parallel.csh
|
||||
|
@ -128,6 +136,7 @@ bin/env_parallel.csh solaris copy solaris bin/env_parallel.csh env_parallel.csh
|
|||
bin/env_parallel.csh openindiana copy openindiana bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh aix copy aix bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh hpux copy hpux bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh debian-ppc copy debian-ppc bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh suse copy suse bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh solaris-x86 copy solaris-x86 bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh mandriva copy mandriva bin/env_parallel.csh env_parallel.csh
|
||||
|
@ -142,6 +151,8 @@ bin/env_parallel.csh netbsd copy netbsd bin/env_parallel.csh env_parallel.csh
|
|||
bin/env_parallel.csh openbsd copy openbsd bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh freebsd copy freebsd bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh debian copy debian bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh ultrix copy ultrix bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh irix copy irix bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh hurd copy hurd bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.csh minix copy minix bin/env_parallel.csh env_parallel.csh
|
||||
bin/env_parallel.dash qnx copy qnx bin/env_parallel.dash env_parallel.dash
|
||||
|
@ -153,6 +164,7 @@ bin/env_parallel.dash solaris copy solaris bin/env_parallel.dash env_parallel.da
|
|||
bin/env_parallel.dash openindiana copy openindiana bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash aix copy aix bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash hpux copy hpux bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash debian-ppc copy debian-ppc bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash suse copy suse bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash solaris-x86 copy solaris-x86 bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash mandriva copy mandriva bin/env_parallel.dash env_parallel.dash
|
||||
|
@ -167,6 +179,8 @@ bin/env_parallel.dash netbsd copy netbsd bin/env_parallel.dash env_parallel.dash
|
|||
bin/env_parallel.dash openbsd copy openbsd bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash freebsd copy freebsd bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash debian copy debian bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash ultrix copy ultrix bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash irix copy irix bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash hurd copy hurd bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.dash minix copy minix bin/env_parallel.dash env_parallel.dash
|
||||
bin/env_parallel.fish qnx copy qnx bin/env_parallel.fish env_parallel.fish
|
||||
|
@ -178,6 +192,7 @@ bin/env_parallel.fish solaris copy solaris bin/env_parallel.fish env_parallel.fi
|
|||
bin/env_parallel.fish openindiana copy openindiana bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish aix copy aix bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish hpux copy hpux bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish debian-ppc copy debian-ppc bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish suse copy suse bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish solaris-x86 copy solaris-x86 bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish mandriva copy mandriva bin/env_parallel.fish env_parallel.fish
|
||||
|
@ -192,6 +207,8 @@ bin/env_parallel.fish netbsd copy netbsd bin/env_parallel.fish env_parallel.fish
|
|||
bin/env_parallel.fish openbsd copy openbsd bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish freebsd copy freebsd bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish debian copy debian bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish ultrix copy ultrix bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish irix copy irix bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish hurd copy hurd bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.fish minix copy minix bin/env_parallel.fish env_parallel.fish
|
||||
bin/env_parallel.ksh qnx copy qnx bin/env_parallel.ksh env_parallel.ksh
|
||||
|
@ -203,6 +220,7 @@ bin/env_parallel.ksh solaris copy solaris bin/env_parallel.ksh env_parallel.ksh
|
|||
bin/env_parallel.ksh openindiana copy openindiana bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh aix copy aix bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh hpux copy hpux bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh debian-ppc copy debian-ppc bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh suse copy suse bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh solaris-x86 copy solaris-x86 bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh mandriva copy mandriva bin/env_parallel.ksh env_parallel.ksh
|
||||
|
@ -217,6 +235,8 @@ bin/env_parallel.ksh netbsd copy netbsd bin/env_parallel.ksh env_parallel.ksh
|
|||
bin/env_parallel.ksh openbsd copy openbsd bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh freebsd copy freebsd bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh debian copy debian bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh ultrix copy ultrix bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh irix copy irix bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh hurd copy hurd bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.ksh minix copy minix bin/env_parallel.ksh env_parallel.ksh
|
||||
bin/env_parallel.mksh qnx copy qnx bin/env_parallel.mksh env_parallel.mksh
|
||||
|
@ -228,6 +248,7 @@ bin/env_parallel.mksh solaris copy solaris bin/env_parallel.mksh env_parallel.mk
|
|||
bin/env_parallel.mksh openindiana copy openindiana bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh aix copy aix bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh hpux copy hpux bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh debian-ppc copy debian-ppc bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh suse copy suse bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh solaris-x86 copy solaris-x86 bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh mandriva copy mandriva bin/env_parallel.mksh env_parallel.mksh
|
||||
|
@ -242,6 +263,8 @@ bin/env_parallel.mksh netbsd copy netbsd bin/env_parallel.mksh env_parallel.mksh
|
|||
bin/env_parallel.mksh openbsd copy openbsd bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh freebsd copy freebsd bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh debian copy debian bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh ultrix copy ultrix bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh irix copy irix bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh hurd copy hurd bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.mksh minix copy minix bin/env_parallel.mksh env_parallel.mksh
|
||||
bin/env_parallel.pdksh qnx copy qnx bin/env_parallel.pdksh env_parallel.pdksh
|
||||
|
@ -253,6 +276,7 @@ bin/env_parallel.pdksh solaris copy solaris bin/env_parallel.pdksh env_parallel.
|
|||
bin/env_parallel.pdksh openindiana copy openindiana bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh aix copy aix bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh hpux copy hpux bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh debian-ppc copy debian-ppc bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh suse copy suse bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh solaris-x86 copy solaris-x86 bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh mandriva copy mandriva bin/env_parallel.pdksh env_parallel.pdksh
|
||||
|
@ -267,6 +291,8 @@ bin/env_parallel.pdksh netbsd copy netbsd bin/env_parallel.pdksh env_parallel.pd
|
|||
bin/env_parallel.pdksh openbsd copy openbsd bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh freebsd copy freebsd bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh debian copy debian bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh ultrix copy ultrix bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh irix copy irix bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh hurd copy hurd bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.pdksh minix copy minix bin/env_parallel.pdksh env_parallel.pdksh
|
||||
bin/env_parallel.sh qnx copy qnx bin/env_parallel.sh env_parallel.sh
|
||||
|
@ -278,6 +304,7 @@ bin/env_parallel.sh solaris copy solaris bin/env_parallel.sh env_parallel.sh
|
|||
bin/env_parallel.sh openindiana copy openindiana bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh aix copy aix bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh hpux copy hpux bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh debian-ppc copy debian-ppc bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh suse copy suse bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh solaris-x86 copy solaris-x86 bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh mandriva copy mandriva bin/env_parallel.sh env_parallel.sh
|
||||
|
@ -292,6 +319,8 @@ bin/env_parallel.sh netbsd copy netbsd bin/env_parallel.sh env_parallel.sh
|
|||
bin/env_parallel.sh openbsd copy openbsd bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh freebsd copy freebsd bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh debian copy debian bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh ultrix copy ultrix bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh irix copy irix bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh hurd copy hurd bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.sh minix copy minix bin/env_parallel.sh env_parallel.sh
|
||||
bin/env_parallel.tcsh qnx copy qnx bin/env_parallel.tcsh env_parallel.tcsh
|
||||
|
@ -303,6 +332,7 @@ bin/env_parallel.tcsh solaris copy solaris bin/env_parallel.tcsh env_parallel.tc
|
|||
bin/env_parallel.tcsh openindiana copy openindiana bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh aix copy aix bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh hpux copy hpux bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh debian-ppc copy debian-ppc bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh suse copy suse bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh solaris-x86 copy solaris-x86 bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh mandriva copy mandriva bin/env_parallel.tcsh env_parallel.tcsh
|
||||
|
@ -317,6 +347,8 @@ bin/env_parallel.tcsh netbsd copy netbsd bin/env_parallel.tcsh env_parallel.tcsh
|
|||
bin/env_parallel.tcsh openbsd copy openbsd bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh freebsd copy freebsd bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh debian copy debian bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh ultrix copy ultrix bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh irix copy irix bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh hurd copy hurd bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.tcsh minix copy minix bin/env_parallel.tcsh env_parallel.tcsh
|
||||
bin/env_parallel.zsh qnx copy qnx bin/env_parallel.zsh env_parallel.zsh
|
||||
|
@ -328,6 +360,7 @@ bin/env_parallel.zsh solaris copy solaris bin/env_parallel.zsh env_parallel.zsh
|
|||
bin/env_parallel.zsh openindiana copy openindiana bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh aix copy aix bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh hpux copy hpux bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh debian-ppc copy debian-ppc bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh suse copy suse bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh solaris-x86 copy solaris-x86 bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh mandriva copy mandriva bin/env_parallel.zsh env_parallel.zsh
|
||||
|
@ -342,6 +375,8 @@ bin/env_parallel.zsh netbsd copy netbsd bin/env_parallel.zsh env_parallel.zsh
|
|||
bin/env_parallel.zsh openbsd copy openbsd bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh freebsd copy freebsd bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh debian copy debian bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh ultrix copy ultrix bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh irix copy irix bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh hurd copy hurd bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/env_parallel.zsh minix copy minix bin/env_parallel.zsh env_parallel.zsh
|
||||
bin/parcat qnx copy qnx bin/parcat parcat
|
||||
|
@ -353,6 +388,7 @@ bin/parcat solaris copy solaris bin/parcat parcat
|
|||
bin/parcat openindiana copy openindiana bin/parcat parcat
|
||||
bin/parcat aix copy aix bin/parcat parcat
|
||||
bin/parcat hpux copy hpux bin/parcat parcat
|
||||
bin/parcat debian-ppc copy debian-ppc bin/parcat parcat
|
||||
bin/parcat suse copy suse bin/parcat parcat
|
||||
bin/parcat solaris-x86 copy solaris-x86 bin/parcat parcat
|
||||
bin/parcat mandriva copy mandriva bin/parcat parcat
|
||||
|
@ -367,6 +403,8 @@ bin/parcat netbsd copy netbsd bin/parcat parcat
|
|||
bin/parcat openbsd copy openbsd bin/parcat parcat
|
||||
bin/parcat freebsd copy freebsd bin/parcat parcat
|
||||
bin/parcat debian copy debian bin/parcat parcat
|
||||
bin/parcat ultrix copy ultrix bin/parcat parcat
|
||||
bin/parcat irix copy irix bin/parcat parcat
|
||||
bin/parcat hurd copy hurd bin/parcat parcat
|
||||
bin/parcat minix copy minix bin/parcat parcat
|
||||
bin/stdout qnx copy qnx bin/stdout stdout
|
||||
|
@ -378,6 +416,7 @@ bin/stdout solaris copy solaris bin/stdout stdout
|
|||
bin/stdout openindiana copy openindiana bin/stdout stdout
|
||||
bin/stdout aix copy aix bin/stdout stdout
|
||||
bin/stdout hpux copy hpux bin/stdout stdout
|
||||
bin/stdout debian-ppc copy debian-ppc bin/stdout stdout
|
||||
bin/stdout suse copy suse bin/stdout stdout
|
||||
bin/stdout solaris-x86 copy solaris-x86 bin/stdout stdout
|
||||
bin/stdout mandriva copy mandriva bin/stdout stdout
|
||||
|
@ -392,6 +431,8 @@ bin/stdout netbsd copy netbsd bin/stdout stdout
|
|||
bin/stdout openbsd copy openbsd bin/stdout stdout
|
||||
bin/stdout freebsd copy freebsd bin/stdout stdout
|
||||
bin/stdout debian copy debian bin/stdout stdout
|
||||
bin/stdout ultrix copy ultrix bin/stdout stdout
|
||||
bin/stdout irix copy irix bin/stdout stdout
|
||||
bin/stdout hurd copy hurd bin/stdout stdout
|
||||
bin/stdout minix copy minix bin/stdout stdout
|
||||
Done copying
|
||||
|
@ -406,10 +447,13 @@ Done copying
|
|||
aix Works on aix7
|
||||
centos Works on centos.polarhome.com
|
||||
debian Works on debian
|
||||
debian-ppc Works on debian-ppc
|
||||
freebsd Syntax error: Bad fd number
|
||||
hpux Works on hpux64
|
||||
hpux-ia64 Works on hpux-ia64
|
||||
hurd Works on hurd
|
||||
irix /usr/freeware/bin/bash: line 1: /home/t/tange/setupenv: No such file or directory
|
||||
irix Unknown open() mode '>&' at /home/t/tange/bin/parallel line 2458.
|
||||
macosx Works on macosx.polarhome.com
|
||||
mandriva Works on mandriva.polarhome.com
|
||||
miros Works on miros.polarhome.com
|
||||
|
@ -445,6 +489,8 @@ centos 1
|
|||
centos 1
|
||||
debian 1
|
||||
debian 2
|
||||
debian-ppc 1
|
||||
debian-ppc 1
|
||||
freebsd Syntax error: Bad fd number
|
||||
hpux 1
|
||||
hpux 1
|
||||
|
@ -452,6 +498,9 @@ hpux-ia64 1
|
|||
hpux-ia64 1
|
||||
hurd
|
||||
hurd 1
|
||||
irix /usr/freeware/bin/bash: line 1: /home/t/tange/setupenv: No such file or directory
|
||||
irix Unknown open() mode '>&' at /home/t/tange/bin/parallel line 2458.
|
||||
irix Unknown open() mode '>&' at /home/t/tange/bin/parallel line 2458.
|
||||
macosx 2
|
||||
macosx 2
|
||||
mandriva 1
|
||||
|
@ -498,6 +547,8 @@ centos 1
|
|||
centos 1
|
||||
debian 2
|
||||
debian 2
|
||||
debian-ppc 1
|
||||
debian-ppc 1
|
||||
freebsd Syntax error: Bad fd number
|
||||
hpux 1
|
||||
hpux 1
|
||||
|
@ -505,6 +556,9 @@ hpux-ia64 2
|
|||
hpux-ia64 1
|
||||
hurd 1
|
||||
hurd 1
|
||||
irix /usr/freeware/bin/bash: line 1: /home/t/tange/setupenv: No such file or directory
|
||||
irix Unknown open() mode '>&' at /home/t/tange/bin/parallel line 2458.
|
||||
irix Unknown open() mode '>&' at /home/t/tange/bin/parallel line 2458.
|
||||
macosx 2
|
||||
macosx 2
|
||||
mandriva 1
|
||||
|
@ -561,6 +615,8 @@ centos at /home/t/tange/bin/parallel line 0000
|
|||
centos OK readonly tmp
|
||||
debian Error in tempfile() using template /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at /home/t/tange/bin/parallel line 0000.
|
||||
debian OK readonly tmp
|
||||
debian-ppc Error in tempfile() using template /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at /home/t/tange/bin/parallel line 0000.
|
||||
debian-ppc OK readonly tmp
|
||||
freebsd Syntax error: Bad fd number
|
||||
hpux Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at /home/t/tange/bin/parallel line 0000
|
||||
hpux OK readonly tmp
|
||||
|
@ -569,6 +625,8 @@ hpux-ia64 at /home/t/tange/bin/parallel line 0000
|
|||
hpux-ia64 OK readonly tmp
|
||||
hurd Error in tempfile() using template /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at /home/t/tange/bin/parallel line 0000.
|
||||
hurd OK readonly tmp
|
||||
irix Undefined subroutine &main::decode_base64 called at -e line 1.
|
||||
irix open3: exec of bzip2 -dc failed at -e line 1
|
||||
macosx Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at /Users/tange/bin/parallel line 0000
|
||||
macosx OK readonly tmp
|
||||
mandriva Error in tempfile() using /XXXXXXXX.arg: Could not create temp file /XXXXXXXX.arg: Permission denied at /home/t/tange/bin/parallel line 0000
|
||||
|
@ -607,6 +665,7 @@ tru64 at /home/t/tange/bin/parallel line 0000
|
|||
tru64 OK readonly tmp
|
||||
ubuntu 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 OK readonly tmp
|
||||
ultrix open3: wtr should not be null at -e line 1
|
||||
unixware UX:sh (/bin/sh): ERROR: source: Not found
|
||||
unixware UX:env: ERROR: No such file or directory: bash
|
||||
echo
|
||||
|
@ -630,6 +689,8 @@ centos test funcA
|
|||
centos bash only A
|
||||
debian test funcA
|
||||
debian bash only A
|
||||
debian-ppc test funcA
|
||||
debian-ppc bash only A
|
||||
freebsd Syntax error: Bad fd number
|
||||
hpux test funcA
|
||||
hpux bash only A
|
||||
|
@ -637,6 +698,8 @@ hpux-ia64 test funcA
|
|||
hpux-ia64 bash only A
|
||||
hurd test funcA
|
||||
hurd bash only A
|
||||
irix Undefined subroutine &main::decode_base64 called at -e line 1.
|
||||
irix open3: exec of bzip2 -dc failed at -e line 1
|
||||
macosx test funcA
|
||||
macosx bash only A
|
||||
mandriva test funcA
|
||||
|
@ -673,6 +736,7 @@ tru64 test funcA
|
|||
tru64 bash only A
|
||||
ubuntu test funcA
|
||||
ubuntu bash only A
|
||||
ultrix open3: wtr should not be null at -e line 1
|
||||
unixware test funcA
|
||||
unixware UX:sh (/bin/sh): ERROR: source: Not found
|
||||
unixware UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 3: `(' unexpected
|
||||
|
@ -701,6 +765,8 @@ centos test funcB
|
|||
centos bash only B
|
||||
debian test funcB
|
||||
debian bash only B
|
||||
debian-ppc test funcB
|
||||
debian-ppc bash only B
|
||||
freebsd test funcB
|
||||
freebsd bash only B
|
||||
hpux test funcB
|
||||
|
@ -709,6 +775,8 @@ hpux-ia64 test funcB
|
|||
hpux-ia64 bash only B
|
||||
hurd test funcB
|
||||
hurd bash only B
|
||||
irix Undefined subroutine &main::decode_base64 called at -e line 1.
|
||||
irix open3: exec of bzip2 -dc failed at -e line 1
|
||||
macosx test funcB
|
||||
macosx bash only B
|
||||
mandriva test funcB
|
||||
|
@ -744,6 +812,7 @@ tru64 test funcB
|
|||
tru64 bash only B
|
||||
ubuntu test funcB
|
||||
ubuntu bash only B
|
||||
ultrix open3: wtr should not be null at -e line 1
|
||||
unixware test funcB
|
||||
unixware bash only B
|
||||
echo
|
||||
|
@ -792,6 +861,17 @@ debian /home/t/tange/.profile
|
|||
debian /home/t/tange/.cshrc
|
||||
debian /home/t/tange/.tcshrc
|
||||
debian install-OK
|
||||
debian-ppc Installed env_parallel in:
|
||||
debian-ppc /home/t/tange/.bashrc
|
||||
debian-ppc /home/t/tange/.shrc
|
||||
debian-ppc /home/t/tange/.zshenv
|
||||
debian-ppc /home/t/tange/.config/fish/config.fish
|
||||
debian-ppc /home/t/tange/.kshrc
|
||||
debian-ppc /home/t/tange/.mkshrc
|
||||
debian-ppc /home/t/tange/.profile
|
||||
debian-ppc /home/t/tange/.cshrc
|
||||
debian-ppc /home/t/tange/.tcshrc
|
||||
debian-ppc install-OK
|
||||
freebsd Syntax error: Bad fd number
|
||||
hpux Installed env_parallel in:
|
||||
hpux /home/t/tange/.bashrc
|
||||
|
@ -827,6 +907,8 @@ hurd /home/t/tange/.profile
|
|||
hurd /home/t/tange/.cshrc
|
||||
hurd /home/t/tange/.tcshrc
|
||||
hurd install-OK
|
||||
irix /usr/freeware/bin/bash: line 1: /home/t/tange/setupenv: No such file or directory
|
||||
irix env: bash: No such file or directory
|
||||
macosx Installed env_parallel in:
|
||||
macosx /Users/tange/.bashrc
|
||||
macosx /Users/tange/.shrc
|
||||
|
@ -1020,10 +1102,13 @@ unixware UX:env: ERROR: No such file or directory: bash
|
|||
aix env_parallel run-OK
|
||||
centos env_parallel run-OK
|
||||
debian env_parallel run-OK
|
||||
debian-ppc env_parallel run-OK
|
||||
freebsd Syntax error: Bad fd number
|
||||
hpux env_parallel run-OK
|
||||
hpux-ia64 env_parallel run-OK
|
||||
hurd env_parallel run-OK
|
||||
irix /usr/freeware/bin/bash: line 1: /home/t/tange/setupenv: No such file or directory
|
||||
irix env: bash: No such file or directory
|
||||
macosx env_parallel run-OK
|
||||
mandriva env_parallel run-OK
|
||||
miros env_parallel run-OK
|
||||
|
@ -1049,13 +1134,18 @@ tru64 env_parallel run-OK
|
|||
ubuntu env_parallel run-OK
|
||||
unixware env_parallel run-OK
|
||||
unixware UX:sh (/bin/sh): ERROR: source: Not found
|
||||
parallel: Warning: Starting 11 processes took > 2 sec.
|
||||
parallel: Warning: Consider adjusting -j. Press CTRL-C to stop.
|
||||
aix reading from process substitution OK
|
||||
centos reading from process substitution OK
|
||||
debian reading from process substitution OK
|
||||
debian-ppc reading from process substitution OK
|
||||
freebsd Syntax error: "(" unexpected (expecting word)
|
||||
hpux reading from process substitution OK
|
||||
hpux-ia64 reading from process substitution OK
|
||||
hurd reading from process substitution OK
|
||||
irix /usr/freeware/bin/bash: line 1: /home/t/tange/setupenv: No such file or directory
|
||||
irix env: bash: No such file or directory
|
||||
macosx reading from process substitution OK
|
||||
mandriva reading from process substitution OK
|
||||
miros reading from process substitution OK
|
||||
|
@ -1075,6 +1165,7 @@ sshwithpass minix reading from process substitution OK
|
|||
suse reading from process substitution OK
|
||||
tru64 reading from process substitution OK
|
||||
ubuntu reading from process substitution OK
|
||||
ultrix Missing name for redirect.
|
||||
unixware UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `(' unexpected
|
||||
# Test empty command name in process list
|
||||
test_empty_cmd() {
|
||||
|
@ -1093,6 +1184,8 @@ centos ### Test if empty command name in process list causes problems
|
|||
centos OK_with_empty_cmd
|
||||
debian ### Test if empty command name in process list causes problems
|
||||
debian OK_with_empty_cmd
|
||||
debian-ppc ### Test if empty command name in process list causes problems
|
||||
debian-ppc OK_with_empty_cmd
|
||||
freebsd ### Test if empty command name in process list causes problems
|
||||
freebsd OK_with_empty_cmd
|
||||
hpux ### Test if empty command name in process list causes problems
|
||||
|
@ -1101,6 +1194,8 @@ hpux-ia64 ### Test if empty command name in process list causes problems
|
|||
hpux-ia64 OK_with_empty_cmd
|
||||
hurd ### Test if empty command name in process list causes problems
|
||||
hurd OK_with_empty_cmd
|
||||
irix open3: exec of bzip2 -dc failed at -e line 1
|
||||
irix Undefined subroutine &main::decode_base64 called at -e line 1.
|
||||
macosx ### Test if empty command name in process list causes problems
|
||||
macosx OK_with_empty_cmd
|
||||
mandriva ### Test if empty command name in process list causes problems
|
||||
|
@ -1136,6 +1231,7 @@ tru64 ### Test if empty command name in process list causes problems
|
|||
tru64 OK_with_empty_cmd
|
||||
ubuntu ### Test if empty command name in process list causes problems
|
||||
ubuntu OK_with_empty_cmd
|
||||
ultrix open3: wtr should not be null at -e line 1
|
||||
unixware ### Test if empty command name in process list causes problems
|
||||
unixware OK_with_empty_cmd
|
||||
echo
|
||||
|
@ -1152,10 +1248,14 @@ unixware OK_with_empty_cmd
|
|||
aix 1 2 1 2 3 1 2 3 4
|
||||
centos 1 2 1 2 3 1 2 3 4
|
||||
debian 1 2 1 2 3 1 2 3 4
|
||||
debian-ppc 1 2 1 2 3 1 2 3 4
|
||||
freebsd Syntax error: Bad fd number
|
||||
hpux
|
||||
hpux-ia64 1 2 1 2 3 1 2 3 4
|
||||
hurd 1 2 1 2 3 1 2 3 4
|
||||
irix
|
||||
irix /usr/freeware/bin/bash: line 1: /home/t/tange/setupenv: No such file or directory
|
||||
irix /usr/freeware/bin/bash: line 1: parset: command not found
|
||||
macosx 1 2 1 2 3 1 2 3 4
|
||||
mandriva 1 2 1 2 3 1 2 3 4
|
||||
miros 1 2 1 2 3 1 2 3 4
|
||||
|
@ -1183,10 +1283,14 @@ unixware UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `arr=' unexpec
|
|||
aix 2 2 3 2 3 4
|
||||
centos 2 2 3 2 3 4
|
||||
debian 2 2 3 2 3 4
|
||||
debian-ppc 2 2 3 2 3 4
|
||||
freebsd Syntax error: Bad fd number
|
||||
hpux
|
||||
hpux-ia64 1 2 1 2 1 2
|
||||
hurd 2 2 3 2 3 4
|
||||
irix
|
||||
irix /usr/freeware/bin/bash: line 1: /home/t/tange/setupenv: No such file or directory
|
||||
irix /usr/freeware/bin/bash: line 1: env_parset: command not found
|
||||
macosx 2 2 3 2 3 4
|
||||
mandriva 2 2 3 2 3 4
|
||||
miros 1 2 1 2 1 2
|
||||
|
@ -1229,10 +1333,14 @@ unixware UX:sh (/bin/sh): ERROR: /bin/sh: Syntax error at line 1: `arr=' unexpec
|
|||
aix 1 2,1 2 3,1 2 3 4
|
||||
centos 1 2,1 2 3,1 2 3 4
|
||||
debian 1 2,1 2 3,1 2 3 4
|
||||
debian-ppc 1 2,1 2 3,1 2 3 4
|
||||
freebsd Syntax error: Bad fd number
|
||||
hpux ,,
|
||||
hpux-ia64 1 2,1 2 3,1 2 3 4
|
||||
hurd 1 2,1 2 3,1 2 3 4
|
||||
irix ,,
|
||||
irix /usr/freeware/bin/bash: line 1: /home/t/tange/setupenv: No such file or directory
|
||||
irix /usr/freeware/bin/bash: line 1: parset: command not found
|
||||
macosx 1 2,1 2 3,1 2 3 4
|
||||
mandriva 1 2,1 2 3,1 2 3 4
|
||||
miros 1 2,1 2 3,1 2 3 4
|
||||
|
@ -1260,10 +1368,14 @@ unixware UX:sh (/bin/sh): ERROR: source: Not found
|
|||
aix 2,2 3,2 3 4
|
||||
centos 2,2 3,2 3 4
|
||||
debian 2,2 3,2 3 4
|
||||
debian-ppc 2,2 3,2 3 4
|
||||
freebsd Syntax error: Bad fd number
|
||||
hpux ,,
|
||||
hpux-ia64 1 2,1 2,1 2
|
||||
hurd 2,2 3,2 3 4
|
||||
irix ,,
|
||||
irix /usr/freeware/bin/bash: line 1: /home/t/tange/setupenv: No such file or directory
|
||||
irix /usr/freeware/bin/bash: line 1: env_parset: command not found
|
||||
macosx 2,2 3,2 3 4
|
||||
mandriva 2,2 3,2 3 4
|
||||
miros 1 2,1 2,1 2
|
||||
|
|
|
@ -839,8 +839,6 @@ DISPLAY
|
|||
GOPATH
|
||||
GPG_AGENT_INFO
|
||||
GS_LIB
|
||||
GTK2_RC_FILES
|
||||
GTK_RC_FILES
|
||||
HISTCONTROL
|
||||
HOME
|
||||
JAVA_HOME
|
||||
|
|
Loading…
Reference in a new issue