@DomainsFeatured: Não, wait 60espera por trabalho de 60 para terminar
Colin Pitrat
115
wait é um comando interno do BASH. De man bash:
wait [n ...]Waitfor each specified process and return its termination sta-
tus.Each n may be a process ID or a job specification;if a
job spec is given, all processes in that job's pipeline are
waited for. If n is not given, all currently active child pro-
cesses are waited for, and the return status is zero. If n
specifies a non-existent process or job, the return status is
127. Otherwise, the return status is the exit status of the
last process or job waited for.
sleep não é um comando interno do shell. É um utilitário que atrasa por um período especificado.
O sleepcomando pode suportar a espera em várias unidades de tempo. O GNU coreutils 8.4 man sleepdiz:
SYNOPSIS
sleep NUMBER[SUFFIX]...
DESCRIPTION
Pausefor NUMBER seconds. SUFFIX may be ‘s’for seconds (the default),‘m’for minutes,‘h’for hours or ‘d’for days.Unlike most implemen-
tations that require NUMBER be an integer, here NUMBER may be an arbi-
trary floating point number.Given two or more arguments, pause for
the amount of time specified by the sum of their values.
IMHO é wait %1 %2ou wait 27408 27409simplesmente waitse não houver outro processo em segundo plano. Nesse caso, você está tentando aguardar o PID 1 (init) e o PID 2 ([migração / 0] no meu Linux), mas você receberá uma mensagem de erro como: -bash: wait: pid 1 is not a child of this shelle retorna o código de saída 127.
TrueY
11
Então, a partir de 2 anos ninguém percebeu. Você está absolutamente certo, irá editar a resposta ...
wait 60
espera por trabalho de 60 para terminarwait é um comando interno do BASH. De
man bash
:sleep não é um comando interno do shell. É um utilitário que atrasa por um período especificado.
O
sleep
comando pode suportar a espera em várias unidades de tempo. O GNU coreutils 8.4man sleep
diz:fonte
sleep
apenas atrasa o shell durante um determinado período de segundos.wait
faz com que o shell aguarde o trabalho especificado. por exemplo:atrasa o shell até que ambos os subprocessos terminem
fonte
wait %1 %2
ouwait 27408 27409
simplesmentewait
se não houver outro processo em segundo plano. Nesse caso, você está tentando aguardar o PID 1 (init) e o PID 2 ([migração / 0] no meu Linux), mas você receberá uma mensagem de erro como:-bash: wait: pid 1 is not a child of this shell
e retorna o código de saída127
.