mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-24 06:57:55 +00:00
parallel: --onall now supports sshpass - user:pass@host.
This commit is contained in:
parent
78d14e0e40
commit
510dcb7fa1
|
@ -19,7 +19,7 @@ torresults:
|
|||
|
||||
|
||||
torsync:
|
||||
torsocks rsync -Hazv --progress --exclude authorized_keys --exclude .vagrant/ ./ tortest:privat/parallel/
|
||||
torsocks rsync -Hazv --progress --exclude authorized_keys --exclude .vagrant/ --exclude actual-results --delete ./ tortest:privat/parallel/
|
||||
make tortest
|
||||
|
||||
web:
|
||||
|
|
|
@ -787,7 +787,7 @@ torresults:
|
|||
torsocks rsync -Hazv --progress --exclude authorized_keys --exclude .vagrant/ tortest:privat/parallel/testsuite/actual-results/ testsuite/actual-results/
|
||||
|
||||
torsync:
|
||||
torsocks rsync -Hazv --progress --exclude authorized_keys --exclude .vagrant/ ./ tortest:privat/parallel/
|
||||
torsocks rsync -Hazv --progress --exclude authorized_keys --exclude .vagrant/ --exclude actual-results --delete ./ tortest:privat/parallel/
|
||||
make tortest
|
||||
|
||||
web:
|
||||
|
|
14
README
14
README
|
@ -40,13 +40,13 @@ installation.
|
|||
|
||||
$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
|
||||
fetch -o - http://pi.dk/3 ) > install.sh
|
||||
$ sha1sum install.sh | grep 883c667e01eed62f975ad28b6d50e22a
|
||||
12345678 883c667e 01eed62f 975ad28b 6d50e22a
|
||||
$ md5sum install.sh | grep cc21b4c943fd03e93ae1ae49e28573c0
|
||||
cc21b4c9 43fd03e9 3ae1ae49 e28573c0
|
||||
$ sha512sum install.sh | grep da012ec113b49a54e705f86d51e784ebced224fdf
|
||||
79945d9d 250b42a4 2067bb00 99da012e c113b49a 54e705f8 6d51e784 ebced224
|
||||
fdff3f52 ca588d64 e75f6033 61bd543f d631f592 2f87ceb2 ab034149 6df84a35
|
||||
$ sha1sum install.sh | grep 51621b7f1ee103c00783aae4ef9889f8
|
||||
12345678 51621b7f 1ee103c0 0783aae4 ef9889f8
|
||||
$ md5sum install.sh | grep 62eada78703b5500241b8e50baf62758
|
||||
62eada78 703b5500 241b8e50 baf62758
|
||||
$ sha512sum install.sh | grep c0206a65dc86f2bb6bbdf1a2bc96bc6d067
|
||||
160d3159 9480cf5c a101512f 150b7ac0 206a65dc 86f2bb6b bdf1a2bc 96bc6d06
|
||||
7f8237c2 0964b67f bccf8a93 332528fa 11e5ab43 2a6226a6 ceb197ab 7f03c061
|
||||
$ bash install.sh
|
||||
|
||||
This will literally install faster than reading the rest of this
|
||||
|
|
38
src/parallel
38
src/parallel
|
@ -5458,6 +5458,13 @@ sub onall($@) {
|
|||
for my $host (sort keys %Global::host) {
|
||||
my $sshlogin = $Global::host{$host};
|
||||
my $qsshlogin = Q($sshlogin->string());
|
||||
my $qsshloginpw = Q($sshlogin->pwstring());
|
||||
if($qsshloginpw ne $qsshlogin) {
|
||||
::warning_once("Using password or SSHPASS with --(n)onall ".
|
||||
"exposes the password",
|
||||
"on the command line, ".
|
||||
"making it visible to local users via `ps`.");
|
||||
}
|
||||
my $joblog = tmp_joblog($opt::joblog);
|
||||
if($joblog) {
|
||||
push @joblogs, $joblog;
|
||||
|
@ -5466,8 +5473,7 @@ sub onall($@) {
|
|||
my $quad = $opt::arg_file_sep || "::::";
|
||||
# If PARALLEL_ENV is set: Pass it on
|
||||
my $penv=$Global::parallel_env ?
|
||||
"PARALLEL_ENV=".Q($Global::parallel_env) :
|
||||
'';
|
||||
"PARALLEL_ENV=".Q($Global::parallel_env) : '';
|
||||
my $results;
|
||||
if(defined $opt::results) {
|
||||
$results = Q($opt::results) . $qsshlogin;
|
||||
|
@ -5475,12 +5481,12 @@ sub onall($@) {
|
|||
::debug("init", "$penv $0 $suboptions -j1 $joblog ",
|
||||
((defined $opt::tag) ? "--tagstring ".$qsshlogin : ""),
|
||||
((defined $opt::results) ? "--results ".$results : ""),
|
||||
" -S $qsshlogin ",
|
||||
" -S $qsshloginpw ",
|
||||
join(" ",shell_quote(@command,$quad,@argfiles)),"\n");
|
||||
print $parallel_fh "$penv $0 $suboptions -j1 $joblog ",
|
||||
((defined $opt::tag) ? "--tagstring ".$qsshlogin : ""),
|
||||
((defined $opt::results) ? "--results ".$results : ""),
|
||||
" -S $qsshlogin ",
|
||||
" -S $qsshloginpw ",
|
||||
join(" ",shell_quote(@command,$quad,@argfiles)),"\0";
|
||||
}
|
||||
close $parallel_fh;
|
||||
|
@ -7295,11 +7301,20 @@ sub new($$) {
|
|||
# [ncpu/]/usr/bin/ssh user:pass@server:port
|
||||
if ($s =~ s:^(\d+)/::) { $ncpus = $1; }
|
||||
|
||||
# Why disallow space in password?
|
||||
# Example:
|
||||
# C:/bin/ssh user:C:/bin/ssh@host
|
||||
# Should this parse as:
|
||||
# user 'C' with password '/bin/ssh user:C:/bin/ssh'
|
||||
# or
|
||||
# cmd 'C:/bin/ssh' user 'user' with password 'C:/bin/ssh'
|
||||
# This is impossible to determine.
|
||||
# With space forbidden in password it uniquely parses as the 2nd.
|
||||
# [/usr/bin/ssh ]user:pass@server:port
|
||||
if($s =~ s/^(.*) //) { $sshcommand = $1; }
|
||||
|
||||
# [user:pass@]server:port
|
||||
if($s =~ s/^([^@]+)@//) {
|
||||
if($s =~ s/^(.+)@//) {
|
||||
my $userpw = $1;
|
||||
# user[:pass]
|
||||
if($userpw =~ s/:(.*)//) {
|
||||
|
@ -7356,6 +7371,12 @@ sub new($$) {
|
|||
($user && $user."@").
|
||||
($host && $host).
|
||||
($port && ":$port");
|
||||
my $pwstring =
|
||||
# Only include the sshcommand in $string if it is set by user
|
||||
($sshcommand && $sshcommand." ").
|
||||
($user && $user. ($password && ":".$password)."@").
|
||||
($host && $host).
|
||||
($port && ":$port");
|
||||
if($host eq ':') {
|
||||
$local = 1;
|
||||
$string = ":";
|
||||
|
@ -7370,6 +7391,7 @@ sub new($$) {
|
|||
$no_slash_string =~ s/[^-a-z0-9:]/_/gi;
|
||||
return bless {
|
||||
'string' => $string,
|
||||
'pwstring' => $pwstring,
|
||||
'jobs_running' => 0,
|
||||
'jobs_completed' => 0,
|
||||
'maxlength' => undef,
|
||||
|
@ -7409,6 +7431,11 @@ sub string($) {
|
|||
return $self->{'string'};
|
||||
}
|
||||
|
||||
sub pwstring($) {
|
||||
my $self = shift;
|
||||
return $self->{'pwstring'};
|
||||
}
|
||||
|
||||
sub host($) {
|
||||
my $self = shift;
|
||||
return $self->{'host'};
|
||||
|
@ -7456,7 +7483,6 @@ sub sshcmd($) {
|
|||
}
|
||||
push @local, "-S", ::Q($control_path);
|
||||
}
|
||||
|
||||
return "@local";
|
||||
}
|
||||
|
||||
|
|
167
src/parallel.pod
167
src/parallel.pod
|
@ -255,11 +255,12 @@ Argument from input source I<n> or the I<n>'th argument.
|
|||
|
||||
This positional replacement string will be replaced by the input from
|
||||
input source I<n> (when used with B<--arg-file> or B<::::>) or with the
|
||||
I<n>'th argument (when used with B<-N>). If I<n> is negative it refers
|
||||
to the I<n>'th last argument.
|
||||
I<n>'th argument (when used with B<-N> or B<--colsep>).
|
||||
|
||||
If I<n> is negative it refers to the I<n>'th last argument.
|
||||
|
||||
See also: B<{}> B<{>I<n>.B<}> B<{>I<n>/B<}> B<{>I<n>//B<}>
|
||||
B<{>I<n>/.B<}>
|
||||
B<{>I<n>/.B<}> B<--colsep>
|
||||
|
||||
|
||||
=item B<{>I<n>.B<}>
|
||||
|
@ -827,7 +828,8 @@ columns. The n'th column can be accessed using B<{>I<n>B<}> or
|
|||
B<{>I<n>.B<}>. E.g. B<{3}> is the 3rd column.
|
||||
|
||||
If there are more input sources, each input source will be separated,
|
||||
but the columns from each input source will be linked.
|
||||
but the columns from each input source will be linked. Here {4} refers
|
||||
to column 2 in input source 2:
|
||||
|
||||
parallel --colsep '-' echo {4} {3} {2} {1} \
|
||||
::: A-B C-D ::: e-f g-h
|
||||
|
@ -1773,7 +1775,7 @@ If in doubt use B<-X> as that will most likely do what is needed.
|
|||
See also: B<-X> B<--xargs>
|
||||
|
||||
|
||||
=item B<--memfree> I<size>
|
||||
=item B<--memfree> I<size> (alpha testing)
|
||||
|
||||
Minimum memory free when starting another job.
|
||||
|
||||
|
@ -1785,10 +1787,7 @@ are free, no more jobs will be started. If less than 50% I<size> bytes
|
|||
are free, the youngest job will be killed (as per B<--term-seq>), and
|
||||
put back on the queue to be run later.
|
||||
|
||||
B<--retries> must be set to determine how many times GNU B<parallel>
|
||||
should retry a given job.
|
||||
|
||||
See also: UNIT PREFIX B<--term-seq> B<--retries> B<--memsuspend>
|
||||
See also: UNIT PREFIX B<--term-seq> B<--memsuspend>
|
||||
|
||||
|
||||
=item B<--memsuspend> I<size>
|
||||
|
@ -1880,7 +1879,7 @@ is somewhat slower than B<--block>.
|
|||
See also: UNIT PREFIX B<--pipe> B<--block> B<-m> B<-X> B<--max-args>
|
||||
|
||||
|
||||
=item B<--nonall>
|
||||
=item B<--nonall> (alpha testing)
|
||||
|
||||
B<--onall> with no arguments.
|
||||
|
||||
|
@ -1895,7 +1894,7 @@ servers.
|
|||
See also: B<--onall> B<--sshlogin>
|
||||
|
||||
|
||||
=item B<--onall>
|
||||
=item B<--onall> (alpha testing)
|
||||
|
||||
Run all the jobs on all computers given with B<--sshlogin>.
|
||||
|
||||
|
@ -3115,11 +3114,11 @@ I<duration> is in seconds, but can be postfixed with s, m, h, or d.
|
|||
See also: TIME POSTFIXES B<--sshlogin> B<--delay>
|
||||
|
||||
|
||||
=item B<--sshlogin> I<[@hostgroups/][ncpus/]sshlogin[,[@hostgroups/][ncpus/]sshlogin[,...]]>
|
||||
=item B<--sshlogin> I<[@hostgroups/][ncpus/][[user][:[password]]@]host[:port][,...]>
|
||||
|
||||
=item B<--sshlogin> I<@hostgroup>
|
||||
|
||||
=item B<-S> I<[@hostgroups/][ncpus/]sshlogin[,[@hostgroups/][ncpus/]sshlogin[,...]]>
|
||||
=item B<-S> I<[@hostgroups/][ncpus/][ssh command][[user][:[password]]@]host[:port][,...]>
|
||||
|
||||
=item B<-S> I<@hostgroup>
|
||||
|
||||
|
@ -3127,46 +3126,103 @@ Distribute jobs to remote computers.
|
|||
|
||||
The jobs will be run on a list of remote computers.
|
||||
|
||||
If I<hostgroups> is given, the I<sshlogin> will be added to that
|
||||
hostgroup. Multiple hostgroups are separated by '+'. The I<sshlogin>
|
||||
=over 15
|
||||
|
||||
=item Z<> @I<hostgroups>/
|
||||
|
||||
One or more groups this sshlogin belongs to (See
|
||||
B<--hostgroup>). Multiple groups are separated by '+'. The I<sshlogin>
|
||||
will always be added to a hostgroup named the same as I<sshlogin>.
|
||||
|
||||
If only the I<@hostgroup> is given, only the sshlogins in that
|
||||
hostgroup will be used. Multiple I<@hostgroup> can be given.
|
||||
|
||||
Examples: B<@prod/>, B<@dev+remote/>
|
||||
|
||||
|
||||
=item Z<> I<ncpus>/
|
||||
|
||||
Force number of CPU threads.
|
||||
|
||||
GNU B<parallel> will determine the number of CPUs on the remote
|
||||
computers and run the number of jobs as specified by B<-j>. If the
|
||||
number I<ncpus> is given GNU B<parallel> will use this number for
|
||||
number of CPUs on the host. Normally I<ncpus> will not be
|
||||
number of CPU threads on the host. Normally I<ncpus> will not be
|
||||
needed.
|
||||
|
||||
An I<sshlogin> is of the form:
|
||||
Examples: B<4/>, B<12/>
|
||||
|
||||
[sshcommand [options]] [username[:password]@]hostname
|
||||
|
||||
If I<password> is given, B<sshpass> will be used. Otherwise the
|
||||
sshlogin must not require a password (B<ssh-agent> and B<ssh-copy-id>
|
||||
may help with that).
|
||||
=item Z<> I<ssh command>
|
||||
|
||||
If the hostname is an IPv6 address, the port can be given separated
|
||||
with p or #. If the address is enclosed in [] you can also use :.
|
||||
E.g. ::1p2222 ::1#2222 [::1]:2222
|
||||
The I<ssh command> to use. The I<ssh command> must be followed by a space.
|
||||
|
||||
Ranges of hostnames can be given in [] like this: server[1,3,8-10]
|
||||
(for server1, server3, server8, server9, server10) or
|
||||
server[001,003,008-010] (for server001, server003, server008,
|
||||
server009, server010). With Bash's brace expansion you can do:
|
||||
-S{dev,prod}[001-100] to get -Sdev[001-100] -Sprod[001-100]
|
||||
More [] are allowed: server[1-10].cluster[1-5].example.net
|
||||
Example: B</usr/bin/lsh -z >, B<autossh -C >
|
||||
|
||||
The sshlogin ':' is special, it means 'no ssh' and will therefore run
|
||||
on the local computer.
|
||||
|
||||
The sshlogin '..' is special, it read sshlogins from ~/.parallel/sshloginfile or
|
||||
$XDG_CONFIG_HOME/parallel/sshloginfile
|
||||
=item Z<> I<user>
|
||||
|
||||
The sshlogin '-' is special, too, it read sshlogins from stdin
|
||||
(standard input).
|
||||
User name to log in as. Defaults to the current user name.
|
||||
|
||||
Examples: B<alice>, B<bob>
|
||||
|
||||
|
||||
=item Z<> :I<password>
|
||||
|
||||
Use I<password> for authentication (using B<sshpass>). B<password>
|
||||
cannot contain space. If I<password> is omitted use B<$SSHPASS>. If
|
||||
B<:> is omitted use B<ssh>'s default authentication. In this case
|
||||
login must not require a password (B<ssh-agent> and B<ssh-copy-id> may
|
||||
help with that).
|
||||
|
||||
Examples: B<:mypassword>, B<:>
|
||||
|
||||
|
||||
=item Z<> I<host>
|
||||
|
||||
Hostname or IP address of server.
|
||||
|
||||
Examples: B<server01>, B<10.1.2.3>, B<[2001:470:142:4::a]>,
|
||||
B<2001:470:142:5::116>.
|
||||
|
||||
Ranges of hostnames can be given in [] like this: B<server[1,3,8-10]>
|
||||
(for B<server1, server3, server8, server9, server10>) or
|
||||
B<server[001,003,008-010]> (for B<server001, server003, server008,
|
||||
server009, server010>). With Bash's brace expansion you can do:
|
||||
B<-S{dev,prod}[001-100]> to get B<-Sdev[001-100] -Sprod[001-100]> More
|
||||
[]'s are allowed: B<server[01-10].cluster[1-5].example.net>
|
||||
|
||||
=item Z<> :I<port>
|
||||
|
||||
Port number to connect to.
|
||||
|
||||
Examples: B<:22>, B<:2222>.
|
||||
|
||||
For IPv6 you can use B<p> or B<#> instead of B<:>.
|
||||
|
||||
Examples: B<[2001:470:142:4::a]:2222>, B<2001:470:142:5::116p2222>,
|
||||
B<2001:470:142:5::116#22222>
|
||||
|
||||
=back
|
||||
|
||||
There are 3 names with special meaning:
|
||||
|
||||
=over 4
|
||||
|
||||
=item Z<> I<:>
|
||||
|
||||
Means 'no ssh' and will therefore run on the local computer.
|
||||
|
||||
=item Z<> I<..>
|
||||
|
||||
Read sshlogins from B<~/.parallel/sshloginfile> or
|
||||
B<$XDG_CONFIG_HOME/parallel/sshloginfile>
|
||||
|
||||
=item Z<> I<->
|
||||
|
||||
Read sshlogins from stdin (standard input).
|
||||
|
||||
=back
|
||||
|
||||
To specify more sshlogins separate the sshlogins by comma, newline (in
|
||||
the same string), or repeat the options multiple times.
|
||||
|
@ -3174,7 +3230,7 @@ the same string), or repeat the options multiple times.
|
|||
GNU B<parallel> splits on , (comma) so if your sshlogin contains ,
|
||||
(comma) you need to replace it with \, or ,,
|
||||
|
||||
For examples: see B<--sshloginfile>.
|
||||
See B<--sshloginfile> for complete examples.
|
||||
|
||||
The remote host must have GNU B<parallel> installed.
|
||||
|
||||
|
@ -3196,8 +3252,9 @@ lines. Empty lines and lines starting with '#' are ignored. Example:
|
|||
username@server2.example.com
|
||||
8/my-8-cpu-server.example.com
|
||||
2/my_other_username@my-dualcore.example.net
|
||||
# This server has SSH running on port 2222
|
||||
# These servers have SSH running on port 2222
|
||||
ssh -p 2222 server.example.net
|
||||
server01.example.net:2222
|
||||
4/ssh -p 2222 quadserver.example.net
|
||||
# Use a different ssh program
|
||||
myssh -p 2222 -l myusername hexacpu.example.net
|
||||
|
@ -3207,12 +3264,23 @@ lines. Empty lines and lines starting with '#' are ignored. Example:
|
|||
6//usr/local/bin/myssh -p 2222 -l myusername hexacpu
|
||||
# Assume 16 CPUs on the local computer
|
||||
16/:
|
||||
# Use password for authentication
|
||||
user:password@host
|
||||
# Use $SSHPASS for authentication
|
||||
user:@host
|
||||
# Use $SSHPASS for authentication and current username
|
||||
:@host
|
||||
# Use password for authentication and current username
|
||||
:password@host
|
||||
# Login in as bob with :p@ss:w0rd@ as password
|
||||
bob::p@ss:w0rd@@host
|
||||
# Put server1 in hostgroup1
|
||||
@hostgroup1/server1
|
||||
# Put myusername@server2 in hostgroup1+hostgroup2
|
||||
@hostgroup1+hostgroup2/myusername@server2
|
||||
# Force 4 CPUs and put 'ssh -p 2222 server3' in hostgroup1
|
||||
@hostgroup1/4/ssh -p 2222 server3
|
||||
# TODO example with ,,
|
||||
|
||||
When using a different ssh program the last argument must be the hostname.
|
||||
|
||||
|
@ -3221,14 +3289,23 @@ Multiple B<--sshloginfile> are allowed.
|
|||
GNU B<parallel> will first look for the file in current dir; if that
|
||||
fails it look for the file in ~/.parallel.
|
||||
|
||||
The sshloginfile '..' is special, it read sshlogins from
|
||||
~/.parallel/sshloginfile
|
||||
There are 3 names with special meaning:
|
||||
|
||||
The sshloginfile '.' is special, it read sshlogins from
|
||||
/etc/parallel/sshloginfile
|
||||
=over 4
|
||||
|
||||
The sshloginfile '-' is special, too, it read sshlogins from stdin
|
||||
(standard input).
|
||||
=item Z<> I<..>
|
||||
|
||||
Read sshlogins from B<~/.parallel/sshloginfile>
|
||||
|
||||
=item Z<> I<.>
|
||||
|
||||
Read sshlogins from B</etc/parallel/sshloginfile>
|
||||
|
||||
=item Z<> I<->
|
||||
|
||||
Read sshlogins from stdin (standard input).
|
||||
|
||||
=back
|
||||
|
||||
If the sshloginfile is changed it will be re-read when a job finishes
|
||||
though at most once per second. This makes it possible to add and
|
||||
|
@ -3820,7 +3897,7 @@ characters that have special meaning in shell:
|
|||
|
||||
and depending on context these needs to be quoted, too:
|
||||
|
||||
~ & # ! ? space * {
|
||||
~ & ! ? space * { #
|
||||
|
||||
Therefore most people will never need more quoting than putting '\'
|
||||
in front of the special characters.
|
||||
|
|
|
@ -219,7 +219,7 @@ par__environment_too_big_zsh() {
|
|||
bigfunc() { true; }
|
||||
_EOF
|
||||
)
|
||||
ssh zsh@lo "$myscript"
|
||||
stdout ssh zsh@lo "$myscript" | perl -pe 's/(\d)\d\d\d\d/${1}XXXX/g'
|
||||
}
|
||||
|
||||
par_progress() {
|
||||
|
|
|
@ -309,6 +309,308 @@ par__test_cpu_detection_topology() {
|
|||
QESAkg8EKmp0oA==
|
||||
'
|
||||
}
|
||||
cpu20() {
|
||||
echo '1-16-24-16 8*2 thread + 8*1 threads Intel Core i7-13700HX'
|
||||
echo '
|
||||
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
|
||||
Gnfd8IITzjZAXQ==
|
||||
'
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep ^cpu)
|
||||
|
||||
test_one() {
|
||||
|
@ -472,7 +774,7 @@ par__test_cpu_detection_cpuinfo() {
|
|||
' | unpack
|
||||
}
|
||||
cpu10() {
|
||||
echo '4-48-48-48 Dell R815 4 CPU 48-core'
|
||||
echo '4-48-48-48 Dell R815 4 CPU 48-core Opteron 6174'
|
||||
echo '
|
||||
KLUv/QRYRSEApj+vIjBLLADDcJR4ZOmSMcbRLoFyVLE7QWmYAUkyhG4uXRgCwJ2sAJ0ApQDz
|
||||
j2zYCFV5LceJnYZVIM0Qb46jYRWIevMJ5ZWQjNJCjmp8w8bjkeeoRoStN0cvIDkTshH1CaNs
|
||||
|
@ -671,6 +973,32 @@ par__test_cpu_detection_cpuinfo() {
|
|||
zdoA+1KxJ8/shJsDnYcJTIaXxS7ju0nnln2fbenY0DSGz5+q
|
||||
' | unpack
|
||||
}
|
||||
cpu20() {
|
||||
echo '1-16-24-16 8*2 thread + 8*1 threads Intel Core i7-13700HX'
|
||||
echo '
|
||||
KLUv/QRoXSEApjqgIyBtrAMBfUS1S7lyNhBkqR+VRby1HGkcIfAfpUMCoQwIwQaLnACNAJAA
|
||||
LX4Zn3Z86/pt/rpvlN4QgwxJGnClhXdPzld527SrNxLxc8heffK1xyxR1NLZEqah89q9Q9Ze
|
||||
Rx6cIDR8oTAWS8Xr76OxliwWiwJmsSgVCw7PtG62SduLCSQf89ZOIhYWC8aiCBjvAg4QAUtn
|
||||
wgUeAv6oy0YmvzQUAFw3Y9JE4IvsecQtgVslw8oXyVVwb9Hp5ErJ4gcAdHZvm5QD7BGu58Hg
|
||||
6ewn0eXI404y6uhbo55PEvtKrKf3stONr66VDzq2rsrGk7+OMl1Ri2nU1M7i82W7+1OUTuEo
|
||||
YBRh4z/JPOUXOuzBpSsCTTh51umQp7ybE1q8dFXJasvZHuG5dXX0DqSWHX+Sh5C1jvTr48p2
|
||||
n/b0fIrxj47gA9ubpTK+NGM7g2iN5+03pvYNz2QRKOeaDpLeVx98DmPW1qNRdqfg+lY8yB7d
|
||||
PmUL23LxkfZzh2kefc49dlSSHujQBNfHIOcXoz8ppdVKcupC09uTiz36DqTyZBb7k2N3u+3o
|
||||
3WssyfeOdK/wxr6iXnReO5JgTkP93LHlHkuvvH9RSodMxx69KNe7bZI95K7ad7ip8+6c7j9a
|
||||
3WcpQ6Z0y6MTi6IopShFUZTicKiGo6EYDNU0GmVgoBgGo5ZFKY2ilFLKQDkcjkaDaTAYjKZZ
|
||||
GgMDA4ZRmGVZFEUpSqkkOViISRZPFzI5gSyq9EkN5gPv+pw7lu6lzrEqN0roQbaYJmksGoZf
|
||||
nNB0Eof3bhc6dekbYgbpdzOOOLP2UpS0lta23JGTbEeM16IdnbVuO+1yK4KW29oerb1URpSr
|
||||
9Lr9BIC6qNFchZCIzIyigjRJY6BGpmY2qTzCGDnKQIgREOGOCktK+F8YfS50VI64g4N04Kg8
|
||||
wInlxaHDRjUodp8qTXWAoFGlc0zWvXk6ZFSjsvLs62BRTbqi1eWjw0Q1UlKejQ4Q1Uwn6l1+
|
||||
dGioBiXn2dFBoZp0RKvLR4eDaqSkPBsdCKqZTtS7/OgQUA2K5KWq7+BPN+2nuKBefqrnIDLj
|
||||
iTm8vZ1dZg5XJf7nQHBS2u05gJzxxhxubs+uM4cVif9zMJiEdvccRGY8jvlTHW4ZohKA86Ij
|
||||
DK+qoBEOH9Hmb2hZJ2Lb0GRu0CBoyN9SBHNF0+Uszf2tI5lNzcDMQsaCnrfMOgES0v+PL068
|
||||
ClabXlc8ZfVZ/G2Uif9+TkhUoBF51BvM/Tmub6WUJCRnc4PnthtuTLgx9FKSPYrKXoAnGonL
|
||||
z2nQFnlhUcsxIwOg1RuiG0BUVysNdZjqnh7tS6AoqOj91PaSDVJOM9idASBdOsPlC43ACeGN
|
||||
/1hXPh2Qq15MEmKDLoOWe2EE2Y5kjHpuT3nZY0+6YFB4UM/bW+9xShBIaCbgxs5hglN9t63i
|
||||
' | unpack
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep ^cpu)
|
||||
|
||||
test_one() {
|
||||
|
@ -793,7 +1121,7 @@ par__test_cpu_detection_lscpu() {
|
|||
' | unpack
|
||||
}
|
||||
_cpu10() {
|
||||
echo '4-48-48-48 Dell R815 4 CPU 48-core'
|
||||
echo '4-48-48-48 Dell R815 4 CPU 48-core Opteron 6174'
|
||||
echo '
|
||||
' | unpack
|
||||
}
|
||||
|
@ -951,6 +1279,31 @@ par__test_cpu_detection_lscpu() {
|
|||
jAKUQ0da4Q==
|
||||
' | unpack
|
||||
}
|
||||
cpu20() {
|
||||
echo '1-16-24-16 8*2 thread + 8*1 threads Intel Core i7-13700HX'
|
||||
echo '
|
||||
KLUv/QRoxSAACkYADCkAb7g52NOaaG9pWWVp1EK7UMah1zodCwjsgmz4tfgH/PMzcUVV1Ypq
|
||||
XsoAswCsALDiYJkWExTubWeGpVgcGJDHJOIB4lGeZGEwGAIeDEcjgwMIhuIWQu3JUsEBg1HA
|
||||
wSwK7ANATDyABIBD7YhoS3eHA3Om60EskArbls+13YO6jZw2UPDw+JZTioWZLA2m9YJ6rPEl
|
||||
WBpPPSpcqRGaWByNBaN52a9u2cJJWB4NllHHlRweb2CplisQPPc6N+BgzbB8Zo1rIVhc7nIL
|
||||
rqx7ITwSdUUJ165IlgfkDb3OouEIwAB0vbaA7xMiEiwPSANxmB7RGLXSXkhFBAFR2+2DbxqO
|
||||
ujGmc6bArOABFfhUVI4ijHSNDdtTSvnL5VmrCJ8rfSlzknddMrlK28miCHPCinONr7nisSeq
|
||||
9H5BZXO8UjiZSEgevlS5hNyCH6BsR5Yqc1olIsqy+W9bxFW81Uwf4QXxNANhoW0WtTusH5a2
|
||||
0ufJ94vAYEt+dq5HhTobvNLL1smojkUUDIcD4gSYNx4OjpXsg0MKEFBIpfpiICyMRQ+s9Pt5
|
||||
/KJaCOnx8UpRA1dHeq0xvcE0DwgzqWd77lBm/tSkY1gYWNSYgl8HvzaCCj73ZRqbCuWxB19P
|
||||
Z/C5r/coDdTYtMvmxg4V94p3KIzCBT+5M5aKK/yGzvyGMj/y9Hxq7RBH7GHqEEcnvPSaelLg
|
||||
Y+x2qHy1MO8wqatq14SP3K64rwyv69qkR/BhSjIGkY7PyStX4fzEExFeTlTlNMKgfAqT60IS
|
||||
8Qa2zyUTiTew3OWeuiSiodHrkh8L68JUDaRifjGsuW5UfkxlqlntLfJz5wHZuGstXFE6a0pf
|
||||
91BOuQB7s+JwW/R1TmqYkZxWynS1rkmI71Qw9YYPZuNPK79UecWvVVBye25R34Da+A1mm/Pm
|
||||
yMJK5XSYws9XNmuh9Ib6bU56xVsJcRNhawOdbb4DnT1HZ78c5kOq9dEIK55bjjcn31jzQMmg
|
||||
uOIVhHk+SXmVkqez5qO27UbdspW62in4YHIgYERmjowe25gv0YehmrYtSaLMaue6Xrq98nOM
|
||||
A9QCXR3V0KYsBqQoZoiPwlh8RKh53tWjZUWprL3ylrQqiDDDEOLRHq4zbGOme2hNMCsEsvau
|
||||
NZ2Gpp8FwUqjIVkwEVPnY3oMBhKMUQovJOAE4CGPdWW2gBUTV4IWBlsYWq336+m8y25XUgDk
|
||||
+1MagrMyTOBdQbB1LmQnbQg+hAOIe1MTg0YdmQGAKxJdp5XfnAXE2YPnHOLYNN5HwIAhVCzv
|
||||
Ee3uHiX412tBGQsaMBQgI5jVwZ3ghBsvbgU9Itz3kHVkyyKMcCSaWmvuTPAX+ghFcAWSqC+G
|
||||
KC9ROWX9fWoZ7C7CNABXLKPG2LjX44E/rCicwihACaxZnTc=
|
||||
' | unpack
|
||||
}
|
||||
|
||||
export -f $(compgen -A function | grep ^cpu)
|
||||
|
||||
|
|
|
@ -26,13 +26,24 @@ par_sshlogin_with_comma() {
|
|||
}
|
||||
|
||||
|
||||
par_sshpass_with_password() {
|
||||
par__sshpass_with_password() {
|
||||
echo '### sshpass'
|
||||
. ~/.passwords
|
||||
echo OK | parallel -S "sshpass -p $withpassword ssh withpassword@lo:22" echo
|
||||
qwithpassword=$(echo "$withpassword" | parallel --shellquote)
|
||||
echo OK | parallel -S "sshpass -p $qwithpassword ssh withpassword@lo:22" echo
|
||||
echo OK | parallel -S withpassword:"$withpassword"@lo:22 echo
|
||||
echo OK | parallel --onall -S withpassword:"$withpassword"@lo:22 echo
|
||||
export SSHPASS="$withpassword"
|
||||
echo OK | parallel -S withpassword:@lo:22 echo
|
||||
echo OK | parallel --onall -S withpassword:@lo:22 echo
|
||||
echo '### Crazy passwords: `date>>/tmp/trap`;(|<*&)'"'"
|
||||
> /tmp/trap
|
||||
(
|
||||
stdout parallel --onall -S5/user:'`date>>/tmp/trap`;'@host echo ::: A
|
||||
stdout parallel --onall -S5/user:'`date>>/tmp/trap`;(|<*&)'"'"@host echo ::: A
|
||||
) | perl -pe 's/([a-f0-9]{100,} )+[a-f0-9]{1,}/HEX/g'
|
||||
echo This must stay empty
|
||||
cat /tmp/trap
|
||||
}
|
||||
|
||||
par_--ssh_ssh_in_ssh() {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -559,7 +559,7 @@ par__test_XI_mI a9 b1 2 3 4 5 6 7 8 9
|
|||
par__test_XI_mI a10 b1 2 3 4 5 6 7 8 9 10
|
||||
par__test_cpu_detection_cpuinfo 2-8-8-8 Xeon 8 core server in Germany
|
||||
par__test_cpu_detection_cpuinfo 2 8 8 8
|
||||
par__test_cpu_detection_cpuinfo 4-48-48-48 Dell R815 4 CPU 48-core
|
||||
par__test_cpu_detection_cpuinfo 4-48-48-48 Dell R815 4 CPU 48-core Opteron 6174
|
||||
par__test_cpu_detection_cpuinfo 4 24 48 24
|
||||
par__test_cpu_detection_cpuinfo 1-4-8-4 4-core/8 thread Lenovo T480
|
||||
par__test_cpu_detection_cpuinfo 1 4 8 4
|
||||
|
@ -579,6 +579,8 @@ par__test_cpu_detection_cpuinfo 1-4-8-4 Lenovo E540 i7-4712MQ (PROSA stud organi
|
|||
par__test_cpu_detection_cpuinfo 1 4 8 4
|
||||
par__test_cpu_detection_cpuinfo 1-4-8-4 Core i7-3632QM Acer laptop
|
||||
par__test_cpu_detection_cpuinfo 1 4 8 4
|
||||
par__test_cpu_detection_cpuinfo 1-16-24-16 8*2 thread + 8*1 threads Intel Core i7-13700HX
|
||||
par__test_cpu_detection_cpuinfo 1 12 24 12
|
||||
par__test_cpu_detection_cpuinfo 1-2-4-2 Core i5-2410M laptop firewall
|
||||
par__test_cpu_detection_cpuinfo 1 2 4 2
|
||||
par__test_cpu_detection_cpuinfo 1-2-2-2 AMD Opteron 244 dual core laptop(?)
|
||||
|
@ -611,6 +613,8 @@ par__test_cpu_detection_lscpu 1-4-8-4 Lenovo E540 i7-4712MQ (PROSA stud organize
|
|||
par__test_cpu_detection_lscpu 1 4 8 4
|
||||
par__test_cpu_detection_lscpu 1-4-8-4 Core i7-3632QM Acer laptop
|
||||
par__test_cpu_detection_lscpu 1 4 8 4
|
||||
par__test_cpu_detection_lscpu 1-16-24-16 8*2 thread + 8*1 threads Intel Core i7-13700HX
|
||||
par__test_cpu_detection_lscpu 1 12 24 12
|
||||
par__test_cpu_detection_lscpu 1-2-4-2 Core i5-2410M laptop firewall
|
||||
par__test_cpu_detection_lscpu 1 2 4 2
|
||||
par__test_cpu_detection_lscpu 1-8-8-8 Huawei P Smart Octa-core (4x2.36 GHz Cortex-A53 & 4x1.7 GHz Cortex-A53)
|
||||
|
@ -618,12 +622,15 @@ par__test_cpu_detection_lscpu 2 8 8 8
|
|||
par__test_cpu_detection_lscpu 1-4-4-4 x96 quad-core Android TV-box
|
||||
par__test_cpu_detection_lscpu 1 1 1 1
|
||||
par__test_cpu_detection_topology 4-64-64-64 Dell R815 4 CPU 64-core
|
||||
par__test_cpu_detection_topology 4 8 8 8
|
||||
par__test_cpu_detection_topology 1-2-2-2 AMD Neo N36L Dual-Core Processor
|
||||
par__test_cpu_detection_topology 1 2 2 2
|
||||
par__test_cpu_detection_topology 1-4-8-4 Lenovo E540 i7-4712MQ (PROSA stud organizer)
|
||||
par__test_cpu_detection_topology 1 4 8 4
|
||||
par__test_cpu_detection_topology 1-2-4-2 ThinkPad A475 AMD PRO A12-8830B R7 (64g)
|
||||
par__test_cpu_detection_topology 1 2 4 2
|
||||
par__test_cpu_detection_topology 1-16-24-16 8*2 thread + 8*1 threads Intel Core i7-13700HX
|
||||
par__test_cpu_detection_topology 1 4 8 4
|
||||
par_children_receive_sig ### Do children receive --termseq signals
|
||||
par_children_receive_sig parallel: Warning: This job was killed because it timed out:
|
||||
par_children_receive_sig parallel: Warning: show_signals ''
|
||||
|
|
|
@ -64,6 +64,24 @@ par__remote_load parallel: Warning: perl -e 'while(1){ }'
|
|||
par__remote_load parallel: Warning: This job was killed because it timed out:
|
||||
par__remote_load parallel: Warning: perl -e 'while(1){ }'
|
||||
par__remote_load OK
|
||||
par__sshpass_with_password ### sshpass
|
||||
par__sshpass_with_password OK
|
||||
par__sshpass_with_password OK
|
||||
par__sshpass_with_password parallel: Warning: Using password or SSHPASS with --(n)onall exposes the password
|
||||
par__sshpass_with_password parallel: Warning: on the command line, making it visible to local users via `ps`.
|
||||
par__sshpass_with_password OK
|
||||
par__sshpass_with_password OK
|
||||
par__sshpass_with_password parallel: Warning: Using password or SSHPASS with --(n)onall exposes the password
|
||||
par__sshpass_with_password parallel: Warning: on the command line, making it visible to local users via `ps`.
|
||||
par__sshpass_with_password OK
|
||||
par__sshpass_with_password ### Crazy passwords: `date>>/tmp/trap`;(|<*&)'
|
||||
par__sshpass_with_password parallel: Warning: Using password or SSHPASS with --(n)onall exposes the password
|
||||
par__sshpass_with_password parallel: Warning: on the command line, making it visible to local users via `ps`.
|
||||
par__sshpass_with_password ssh: Could not resolve hostname host: No address associated with hostname
par__sshpass_with_password
|
||||
par__sshpass_with_password parallel: Warning: Using password or SSHPASS with --(n)onall exposes the password
|
||||
par__sshpass_with_password parallel: Warning: on the command line, making it visible to local users via `ps`.
|
||||
par__sshpass_with_password ssh: Could not resolve hostname host: No address associated with hostname
par__sshpass_with_password
|
||||
par__sshpass_with_password This must stay empty
|
||||
par_csh_variable_newline ### Can csh propagate a variable containing \n
|
||||
par_csh_variable_newline 1
|
||||
par_csh_variable_newline 2
|
||||
|
@ -101,10 +119,6 @@ par_sshlogin_with_comma ### --sshlogin with \,
|
|||
par_sshlogin_with_comma OK
|
||||
par_sshlogin_with_comma ### --sshlogin with ,,
|
||||
par_sshlogin_with_comma OK
|
||||
par_sshpass_with_password ### sshpass
|
||||
par_sshpass_with_password OK
|
||||
par_sshpass_with_password OK
|
||||
par_sshpass_with_password OK
|
||||
par_stop_if_no_hosts_left ### Stop if all hosts are filtered and there are no hosts left to run on
|
||||
par_stop_if_no_hosts_left parallel: Warning: Removed no-such.host.
|
||||
par_stop_if_no_hosts_left parallel: Error: Cannot run any jobs.
|
||||
|
|
Loading…
Reference in a new issue