349

waitとの違いは何sleepですか?

4

3 に答える 3

412

waitプロセスが終了するのを待ちます。sleep一定の秒数の間眠ります。

于 2012-11-08T20:08:12.540 に答える
129

waitはBASHの組み込みコマンドです。差出人man bash

    wait [n ...]
        Wait  for 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はシェルビルトインコマンドではありません。これは、指定された時間だけ遅延するユーティリティです。

コマンドは、さまざまな時間単位でのsleep待機をサポートする場合があります。GNU coreutils8.4man sleepによると:

    SYNOPSIS
        sleep NUMBER[SUFFIX]...

    DESCRIPTION
        Pause for 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.
于 2012-11-08T20:09:54.587 に答える
96

sleepシェルを指定された秒数だけ遅延させます。

waitシェルに指定されたジョブを待機させます。例えば:

workhard &
[1] 27408
workharder &
[2] 27409
wait %1 %2

両方のサブプロセスが終了するまでシェルを遅延させます

于 2012-11-08T20:10:22.990 に答える