search

Can linux sleep delay threads?

Mar 16, 2023 am 11:02 AM
linuxsleep

sleep can be delayed. The linux sleep command can be used to delay the current action for a period of time. The syntax is "sleep [--help] [--version] number[smhd]"; by default, the sleep command will delay for a few seconds, but the suffix is ​​allowed to specify the time. Units to specify the delay in seconds, minutes, hours, or days.

Can linux sleep delay threads?

#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.

sleep can delay threads.

Linux sleep command introduction

The Linux sleep command can be used to delay the current action for a period of time.

Usage permissions: all users.

Syntax

sleep [--help] [--version] number[smhd]

Parameter description:

  • ##--help: Display auxiliary message

  • --version: Display version number

  • number: Time length, which can be followed by s, m, h or d

    where s is seconds and m is Minutes, h is the hour, d is the number of days

1. Delay Linux command execution

By default, the sleep command will wait for a few seconds . To understand this, let us output the current time before and after using the sleep command. For example, the following command prints the current time and then waits 5 seconds to print the time again:

$ date '+%r'; sleep 5; date '+%r'

In this example, you need to use a semicolon (;) to separate each command.

Can linux sleep delay threads?

#2. Issue a command to wait for N minutes

Generally, the sleep command allows us to use a suffix to specify the time unit. This This can be expressed in the sleep command using the following suffix:

  • s – specifies the time unit in seconds.

  • m– Specifies the time unit in minutes.

  • h– Specifies the time unit in hours.

  • d – Specifies the time unit in days.

So, here we will use the 'm' suffix to sleep for 1 minute:

$ date '+%r'; sleep 1m; date '+%r'

3. Let the command sleep for X minutes and seconds

In fact, you can also use multiple suffixes in the sleep command. In this case, the duration is calculated by adding all values.

In order to understand this, the following will use the command to sleep for 1 minute and 20 seconds, the command is as follows:

$ date '+%r'; sleep 1m 20s; date '+%r'

In the above example, two different suffixes are used. However, the same suffix can also be used. For example, you can use 2s and 3s suffixes to sleep for 5 seconds. The command is as follows:

$ date '+%r'; sleep 2s 3s; date '+%r'

4. Use floating point numbers through the sleep command

In addition, the sleep command also accepts a floating point number. Points as input so you can sleep for less than a second using this method. For example, you can sleep for half a second using a value of 0.5s:

$ date '+%r'; sleep 0.5s; date '+%r'

In the above output, you can see that the date command displays the same value for the seconds time unit.

In addition, floating point values ​​with other suffixes can also be used. For example, you can use a value of 0.5m to sleep for 30 seconds:

$ date '+%r'; sleep 0.5m; date '+%r'

5. Use the sleep command to simulate an alarm clock

In the previous examples, we mainly introduced how to use sleep command to delay the execution of the next command. Alternatively, you can use this trick to simulate an alarm clock.

So, next use the following command to set the alarm after 5 seconds:

$ sleep 5; cvlc alarm.mp3

The above command opens the alarm.mp3 file using VLC media player after waiting for 5 seconds. Just like any other Linux command, VLC media player can be stopped using the ctrl c key combination.

Usage examples of sleep command

Let the program sleep for 30 seconds first

Literally By the way, you must have guessed the function of sleep command. Simply put, sleep is to let the program take a short rest and then continue working (resting is to work better...).

We let the Shell program take a nap for 30 seconds:

#睡眠30秒
[roc@roclinux ~]$ sleep 30s
 
#让date命令来监督, 看看是不是真的睡了30秒
[roc@roclinux ~]$ date;sleep 30s; date
Thu Feb 25 08:25:17 CST 2016
Thu Feb 25 08:25:47 CST 2016

Sleep time personalization

The sleep command is simple, but we can personalize it Customize it to make it more fun.

Generally speaking, the value following the sleep command is used to represent time. Time must have a unit. If we do not specify a unit, what is its default unit?

[roc@roclinux ~]$ date; sleep 1; date
Thu Feb 25 09:55:47 CST 2016
Thu Feb 25 09:55:48 CST 2016

From this example, the default unit is seconds, which has the same effect as the specified unit s.

If there are seconds, there should also be minutes and hours. So how are these units represented in sleep?

  • s: Indicates seconds

  • m: Indicates minutes

  • h: Indicates hours

  • d: means day

For example, if you want the Shell program to sleep for 1 minute, how should you do it?

[roc@roclinux ~]$ date; sleep 1m; date
Thu Feb 25 10:00:43 CST 2016
Thu Feb 25 10:01:43 CST 2016

If you want the shell program to sleep for 1 hour, just change the unit to h. What if we want the shell program to sleep for 1 minute and 40 seconds? 1 minute = 60 seconds, 1 minute 40 seconds = 100 seconds, you can directly put the computer to sleep for 100 seconds.

[roc@roclinux ~]$ date; sleep 100; date
Thu Feb 25 10:12:28 CST 2016
Thu Feb 25 10:14:08 CST 2016

Actually, sleep is more considerate than you think. You can enter it directly like this:

#注意: 分钟和秒之间一定要有空格哦
[roc@roclinux ~]$ date; sleep 1m 40s; date
Thu Feb 25 10:17:04 CST 2016
Thu Feb 25 10:18:44 CST 2016

这种方法简单、直接,节省了我们不少的思考时间。

在 sleep 中最大的单位是 d(天),如果想表示更长的时间,比如周、月、年的话,那么你只能把它们转换成天来表示了。

# 这样,  Shell程序乖乖地沉睡 "一周2小时5分4秒"
[roc@roclinux ~]$ date; sleep 7d 2h 5m 4s; date
Thu Feb 25 10:17:04 CST 2016
Thu Feb 25 10:18:44 CST 2016

毫秒级睡眠时间可不可以

sleep 命令的默认时间单位是秒,但对于高速运行的程序来说,“秒”还是显得太长了。那 sleep 能不能实现毫秒级的睡眠呢?答案是可以的,例如,我们让 Shell 程序睡眠 3 毫秒:

[roc@roclinux ~]$ time sleep 0.003
 
real    0m0.004s
user    0m0.000s
sys 0m0.001s

time 可以通过浮点数的方式实现毫秒级的睡眠,但这里有一点需要注意,即睡眠时间的精度。sleep 命令只能保证 10ms 级别的精度控制,对于小于 10ms 的睡眠时间是存在误差的。实际应用中,如果你对时间精度要求特别高的话,sleep 或许不是一个正确的选择,还是请考虑其他方法吧。

sleep 的过程中 CPU 是否被占用

默认情况下,sleep 的进程是不占用 CPU 时间的,我们可以通过实验来说明这个问题:

[roc@roclinux ~]$ \time sleep 1
0.00user 0.00system 0:01.00elapsed 0%CPU (0avgtext+0avgdata 2560maxresident)k
0inputs+0outputs (0major+200minor)pagefaults 0swaps

看到了吗?0.00user、0.00system、0%CPU 这三个输出项都表明 sleep 是不会耗费 CPU 的计算资源的。

注意:上面使用了\time命令,它指代的是 /usr/bin/time,而不是 Shell 内置的 time 命令。/usr/bin/time 命令可以显示更多的信息,而 Shell 内置的命令做不到这一点。

相关推荐:《Linux视频教程

The above is the detailed content of Can linux sleep delay threads?. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
What is Maintenance Mode in Linux? ExplainedWhat is Maintenance Mode in Linux? ExplainedApr 22, 2025 am 12:06 AM

MaintenanceModeinLinuxisaspecialbootenvironmentforcriticalsystemmaintenancetasks.Itallowsadministratorstoperformtaskslikeresettingpasswords,repairingfilesystems,andrecoveringfrombootfailuresinaminimalenvironment.ToenterMaintenanceMode,interrupttheboo

Linux: A Deep Dive into Its Fundamental PartsLinux: A Deep Dive into Its Fundamental PartsApr 21, 2025 am 12:03 AM

The core components of Linux include kernel, file system, shell, user and kernel space, device drivers, and performance optimization and best practices. 1) The kernel is the core of the system, managing hardware, memory and processes. 2) The file system organizes data and supports multiple types such as ext4, Btrfs and XFS. 3) Shell is the command center for users to interact with the system and supports scripting. 4) Separate user space from kernel space to ensure system stability. 5) The device driver connects the hardware to the operating system. 6) Performance optimization includes tuning system configuration and following best practices.

Linux Architecture: Unveiling the 5 Basic ComponentsLinux Architecture: Unveiling the 5 Basic ComponentsApr 20, 2025 am 12:04 AM

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

Linux Operations: Utilizing the Maintenance ModeLinux Operations: Utilizing the Maintenance ModeApr 19, 2025 am 12:08 AM

Linux maintenance mode can be entered through the GRUB menu. The specific steps are: 1) Select the kernel in the GRUB menu and press 'e' to edit, 2) Add 'single' or '1' at the end of the 'linux' line, 3) Press Ctrl X to start. Maintenance mode provides a secure environment for tasks such as system repair, password reset and system upgrade.

Linux: How to Enter Recovery Mode (and Maintenance)Linux: How to Enter Recovery Mode (and Maintenance)Apr 18, 2025 am 12:05 AM

The steps to enter Linux recovery mode are: 1. Restart the system and press the specific key to enter the GRUB menu; 2. Select the option with (recoverymode); 3. Select the operation in the recovery mode menu, such as fsck or root. Recovery mode allows you to start the system in single-user mode, perform file system checks and repairs, edit configuration files, and other operations to help solve system problems.

Linux's Essential Components: Explained for BeginnersLinux's Essential Components: Explained for BeginnersApr 17, 2025 am 12:08 AM

The core components of Linux include the kernel, file system, shell and common tools. 1. The kernel manages hardware resources and provides basic services. 2. The file system organizes and stores data. 3. Shell is the interface for users to interact with the system. 4. Common tools help complete daily tasks.

Linux: A Look at Its Fundamental StructureLinux: A Look at Its Fundamental StructureApr 16, 2025 am 12:01 AM

The basic structure of Linux includes the kernel, file system, and shell. 1) Kernel management hardware resources and use uname-r to view the version. 2) The EXT4 file system supports large files and logs and is created using mkfs.ext4. 3) Shell provides command line interaction such as Bash, and lists files using ls-l.

Linux Operations: System Administration and MaintenanceLinux Operations: System Administration and MaintenanceApr 15, 2025 am 12:10 AM

The key steps in Linux system management and maintenance include: 1) Master the basic knowledge, such as file system structure and user management; 2) Carry out system monitoring and resource management, use top, htop and other tools; 3) Use system logs to troubleshoot, use journalctl and other tools; 4) Write automated scripts and task scheduling, use cron tools; 5) implement security management and protection, configure firewalls through iptables; 6) Carry out performance optimization and best practices, adjust kernel parameters and develop good habits.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software