Difference between wait and sleep

前端 未结 3 2032
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-02 04:33

What is difference between wait and sleep?

相关标签:
3条回答
  • 2020-12-02 05:08

    wait is a BASH built-in command. From 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 is not a shell built-in command. It is a utility that delays for a specified amount of time.

    The sleep command may support waiting in various units of time. GNU coreutils 8.4 man sleep says:

        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.
    
    0 讨论(0)
  • 2020-12-02 05:18

    sleep just delays the shell for the given amount of seconds.

    wait makes the shell wait for the given job. e.g.:

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

    delays the shell until both of the subprocesses have finished

    0 讨论(0)
  • 2020-12-02 05:21

    wait waits for a process to finish; sleep sleeps for a certain amount of seconds.

    0 讨论(0)
提交回复
热议问题