《Disney +》 迪士尼、Marvel、彼思、星球大戰…  看《STRANGER OF PARADISE FINAL FANTASY ORIGIN》如何帶《FINAL FANTASY》追本溯源   「黎明死線」×「午夜凶鈴」!貞子將現身DbD!?   體壇與電競合作!Nike與PlayStation、NBA職業球員保羅·喬治(Paul George)合作推出聯名系列「PG 5 PS EP」!   觀察性驚悚遊戲《Conway: Disappearance at Dahlia View》於11月2日登陸PS5、PS4   CPT Online 2021開幕戰「日本大賽1」LIVE播出詳情發表!   睽違19年!KOF XV 新角色宣傳影片「七枷 社」!   「聖劍傳說 ECHOES of MANA」決定封閉β測試!早一步試玩的機會!   龍族拼圖P&D和「UNDONE」合作推出10週年紀念錶! 

Linux sleep 如何暫停半秒、微秒

於 Linux Bash shell 常常會將一堆命令使用 | 接著,一長串的執行下去。

但是某些指令不能下太快,某些程式會需要啟動、初始化等等,一直 | 接下去,會有問題,需要 sleep 一下。

不過 Linux sleep 平常都使用 sleep 1 (1秒),要怎麼停 0.5、0.001 秒呢?

Linux sleep 如何暫停半秒、微秒

於 Linux 想要暫停半秒、微秒,sleep 本身就可以吃 0.x 的秒數,所以直接 sleep 0.5 或 sleep 0.001 即可。

man sleep 的說明如下:

  • Pause for NUMBER seconds.
  • SUFFIX may be 's' for seconds (the default), 'm' for minutes, 'h' for hours or 'd' for days.
  • Unlike most implementations that require NUMBER be an integer, here NUMBER may be an arbitrary floating point number.
  • Given two or more arguments, pause for the amount of time specified by the sum of their values.

文件裡面有支援浮點數,所以就可以直接嘗試:

    • $ time sleep 0.5 # 500 milliseconds (1/2 of a second)
      real    0m0.501s                                                                                                                                                        
      user    0m0.000s                                                                                                                                                             
      sys     0m0.000s
    • $ time sleep 0.001 # 1 millisecond (1/1000 of a second)
      real    0m0.003s                                                                                                                                                        
      user    0m0.000s                                                                                                                                                             
      sys     0m0.000s
    • $ time sleep 1.0 # 1 second (1000 milliseconds)
      real    0m1.001s                                                                                                                                                        
      user    0m0.000s
      sys     0m0.000s
    • $ time sleep 1
      real    0m1.001s                                                                                                                                                        
      user    0m0.000s                                                                                                                                                             
      sys     0m0.000s
    • $ time (for f in seq 1 10; do sleep 0.1; done) # 跑10次 0.1秒
      real    0m1.009s                                                                                                                                                        
      user    0m0.000s                                                                                                                                                             
      sys     0m0.000s
    • $ time sleep 1m # 1 minute
      real    1m0.002s                                                                                                                                                        
      user    0m0.004s                                                                                                                                                             
      sys     0m0.000s

相關網頁

TechNow 當代科技

隨機新聞

Addidas