Linux 的 sleep 命令

Linux 的 sleep 命令# Linux 的 sleep 命令详解

基本概念

sleep 是 Linux 系统中一个简单但非常有用的命令,用于在 shell 脚本或命令行中暂停执行指定的时间。该命令属于 GNU Coreutils 工具集的一部分,几乎所有 Linux 发行版都默认包含。

命令语法

基本语法格式为:
sleep NUMBER[SUFFIX]...

其中:

  • NUMBER 表示时间数值(可以是整数或小数)
  • SUFFIX 是可选的单位后缀,可以是:
    • s - 秒(默认单位)
    • m - 分钟
    • h - 小时
    • d - 天

使用示例

  1. 暂停 5 秒:
bash 复制代码
sleep 5
# 或
sleep 5s
  1. 暂停 2 分 30 秒:
bash 复制代码
sleep 2m 30s
  1. 暂停 0.5 秒(500 毫秒):
bash 复制代码
sleep 0.5
  1. 在脚本中使用:
bash 复制代码
#!/bin/bash
echo "开始执行..."
sleep 3
echo "3秒后继续执行"

高级用法

  1. 结合其他命令使用:
bash 复制代码
# 每5秒检查一次磁盘空间
while true; do
    df -h
    sleep 5
done
  1. 使用变量控制休眠时间:
bash 复制代码
delay=10
echo "等待${delay}秒..."
sleep $delay
  1. 多个时间参数相加:
bash 复制代码
# 总共休眠 1分40秒 (1m + 40s)
sleep 1m 40s

注意事项

  1. 最小时间精度取决于系统实现,通常可以精确到微秒级别

  2. 在脚本中使用时,sleep 会阻塞整个进程的执行

  3. 可以通过 Ctrl+C 中断正在执行的 sleep 命令

  4. 某些特殊环境中(如嵌入式系统)可能有不同的 sleep 实现

替代方案

在某些情况下,可以使用以下替代方法实现类似效果:

  • usleep - 微秒级休眠(但已逐渐被弃用)
  • read -t - 使用 bash 内置命令实现超时等待
  • 编程语言中的 sleep 函数(如 Python 的 time.sleep()
相关推荐
新时代牛马37 分钟前
Linux 性能调优与追踪完整篇:ftrace、perf、eBPF从采样到落地验证
linux·运维·服务器
sunoo-2291 小时前
【网络编程 + 数据库】select 与 epoll 核心区别详解 + SQLite 入门到 C 接口全攻略
linux·网络·数据库·vscode·学习·sqlite
zbyyd1 小时前
Linux 系统编程 :select/epoll 多路复用与 SQLite 数据库实战
linux·数据库·sqlite
虎王物联1 小时前
Docker BuildKit多阶段构建:IoT固件交叉编译流水线实战
运维·物联网·ci/cd·docker·容器·物联网嵌入式
Mortalbreeze1 小时前
深入理解 Linux IO 模型(二):多路复用——select
linux·运维·服务器·网络·tcp/ip
养生技术人1 小时前
Oracle OCP认证考试题目详解082系列第17题
运维·数据库·sql·oracle·ocp
Mrs_DongDong1 小时前
华为云 Windows 服务器远程桌面自定义端口排障指南
服务器·windows·华为云
koi77u1 小时前
嵌入式学习———sqlite数据表
linux·数据库·学习·sqlite
SamChan901 小时前
PDF翻译服务端到端基准测试:4款主流方案的吞吐量、延迟、内存占用对比
服务器·网络·python·ai·pdf·wpf
笑梦无境1 小时前
nginx安装(5)
linux·运维·nginx