Maison Opération et maintenance exploitation et maintenance Linux Linux peut-il mettre en veille les threads ?

Linux peut-il mettre en veille les threads ?

Mar 16, 2023 am 11:02 AM
linux sleep

Le sommeil peut être retardé. La commande Linux sleep peut être utilisée pour retarder l'action en cours pendant un certain temps. La syntaxe est "sleep [--help] [--version] number[smhd]" par défaut, la commande sleep retardera quelques instants. secondes, mais le suffixe est autorisé à spécifier l'heure. Unités pour spécifier le délai en secondes, minutes, heures ou jours.

Linux peut-il mettre en veille les threads ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

le sommeil peut retarder les discussions.

Introduction à la commande Linux sleep

La commande Linux sleep peut être utilisée pour retarder l'action en cours pendant un certain temps.

Autorisations d'utilisation : tous les utilisateurs.

Syntaxe

sleep [--help] [--version] number[smhd]
Copier après la connexion

Description du paramètre :

  • --aide : afficher les informations auxiliaires

  • --version : afficher le numéro de version

  • numéro : durée, peut être suivi de s, m , h Ou d

    où s est la seconde, m est la minute, h est l'heure et d est le nombre de jours

1 Retarder l'exécution de la commande Linux

Par défaut, la commande sleep sera attendez quelques secondes. Pour comprendre cela, affichons l'heure actuelle avant et après l'utilisation de la commande sleep. Par exemple, la commande suivante attend 5 secondes après l'impression de l'heure actuelle pour imprimer à nouveau l'heure :

$ date '+%r'; sleep 5; date '+%r'
Copier après la connexion

Dans cet exemple, vous devez utiliser un point-virgule (;) pour séparer chaque commande.

Linux peut-il mettre en veille les threads ?

2. Émettez une commande pour attendre N minutes

Généralement, la commande sleep nous permet d'utiliser un suffixe pour spécifier l'unité de temps. Cela peut être exprimé dans la commande sleep en utilisant le suffixe suivant :

.
  • s – en secondes Spécifiez l'unité de temps de l'unité.

  • m – Spécifie l'unité de temps en minutes.

  • h – Spécifie l'unité de temps en heures.

  • d – Spécifiez l'unité de temps en jours.

Donc, ici, nous utiliserons le suffixe 'm' pour dormir pendant 1 minute :

$ date '+%r'; sleep 1m; date '+%r'
Copier après la connexion

3. Laissez la commande dormir pendant X minutes et secondes

En fait, vous pouvez également utiliser plusieurs suffixes dans le commande de sommeil. Dans ce cas, la durée est calculée en additionnant toutes les valeurs.

Pour comprendre cela, dormons 1 minute et 20 secondes en utilisant la commande :

$ date '+%r'; sleep 1m 20s; date '+%r'
Copier après la connexion

Dans l'exemple ci-dessus, deux suffixes différents ont été utilisés. Cependant, le même suffixe peut également être utilisé. Par exemple, vous pouvez utiliser les suffixes 2s et 3s pour dormir pendant 5 secondes. La commande est la suivante :

$ date '+%r'; sleep 2s 3s; date '+%r'
Copier après la connexion

4. Utilisez des nombres à virgule flottante via la commande sleep

De plus, la commande sleep accepte également une virgule flottante. numéro en entrée, vous pouvez donc utiliser cette méthode pour dormir sans une seconde. Par exemple, vous pouvez dormir pendant une demi-seconde en utilisant la valeur 0,5 s :

$ date '+%r'; sleep 0.5s; date '+%r'
Copier après la connexion

Dans la sortie ci-dessus, vous pouvez voir que la commande date affiche la même valeur pour l'unité de temps en secondes.

De plus, des valeurs à virgule flottante avec d'autres suffixes peuvent également être utilisées. Par exemple, vous pouvez utiliser une valeur de 0,5 m pour dormir pendant 30 secondes :

$ date '+%r'; sleep 0.5m; date '+%r'
Copier après la connexion

5. Utilisez la commande sleep pour simuler un réveil

Dans les exemples précédents, nous avons principalement présenté comment utiliser la commande sleep pour retarder l'exécution de la commande suivante. Alternativement, vous pouvez utiliser cette astuce pour simuler un réveil.

Alors, utilisez ensuite la commande suivante pour régler l'alarme après 5 secondes :

$ sleep 5; cvlc alarm.mp3
Copier après la connexion

La commande ci-dessus ouvre le fichier alarm.mp3 à l'aide du lecteur multimédia VLC après avoir attendu 5 secondes. Comme toute autre commande Linux, le lecteur multimédia VLC peut être arrêté à l'aide de la combinaison de touches ctrl+c.

Exemples d'utilisation de la commande sleep

Laissez d'abord le programme dormir pendant 30 secondes

D'après le sens littéral, vous devez avoir deviné la fonction de la commande sleep. En termes simples, dormir, c'est laisser le programme prendre un court repos puis continuer à travailler (se reposer, c'est mieux travailler...).

Nous laissons le programme Shell faire une sieste de 30 secondes :

#睡眠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
Copier après la connexion

Temps de sommeil personnalisé

sleep La commande est simple, mais nous pouvons la personnaliser pour la rendre plus amusante.

De manière générale, la valeur qui suit la commande sleep est utilisée pour représenter le temps. Le temps doit avoir une unité. Si nous ne précisons pas d'unité, quelle est son unité par défaut ?

[roc@roclinux ~]$ date; sleep 1; date
Thu Feb 25 09:55:47 CST 2016
Thu Feb 25 09:55:48 CST 2016
Copier après la connexion

Dans cet exemple, l'unité par défaut est la seconde, ce qui a le même effet que de spécifier l'unité s.

S'il y a des secondes, il devrait aussi y avoir des minutes et des heures. Alors, comment ces unités sont-elles représentées dans le sommeil ?

  • s: représente les secondes

  • m: représente les minutes

  • H: représente les heures

  • d: représente les jours

pour exemple, ce qui devrait être fait si vous voulez que le programme Shell soit dormir 1 minute ?

[roc@roclinux ~]$ date; sleep 1m; date
Thu Feb 25 10:00:43 CST 2016
Thu Feb 25 10:01:43 CST 2016
Copier après la connexion

Ensuite, si vous voulez que le programme shell dorme pendant 1 heure, changez simplement l'unité en h. Et si nous voulons que le programme shell dorme pendant 1 minute et 40 secondes ? 1 minute = 60 secondes, 1 minute 40 secondes = 100 secondes, vous pouvez directement mettre l'ordinateur en veille pendant 100 secondes.

[roc@roclinux ~]$ date; sleep 100; date
Thu Feb 25 10:12:28 CST 2016
Thu Feb 25 10:14:08 CST 2016
Copier après la connexion

En fait, dormir est plus prévenant que vous ne le pensez. Vous pouvez le taper directement comme ceci :

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

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

在 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
Copier après la connexion

毫秒级睡眠时间可不可以

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

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

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
Copier après la connexion

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

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

相关推荐:《Linux视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment configurer la tâche de synchronisation APScheduler en tant que service sur macOS? Comment configurer la tâche de synchronisation APScheduler en tant que service sur macOS? Apr 01, 2025 pm 06:09 PM

Configurez la tâche de synchronisation APScheduler en tant que service sur la plate-forme MacOS, si vous souhaitez configurer la tâche de synchronisation APScheduler en tant que service, similaire à Ngin ...

Quatre façons d'implémenter le multithreading dans le langage C Quatre façons d'implémenter le multithreading dans le langage C Apr 03, 2025 pm 03:00 PM

Le multithreading dans la langue peut considérablement améliorer l'efficacité du programme. Il existe quatre façons principales d'implémenter le multithreading dans le langage C: créer des processus indépendants: créer plusieurs processus en cours d'exécution indépendante, chaque processus a son propre espace mémoire. Pseudo-Multithreading: Créez plusieurs flux d'exécution dans un processus qui partagent le même espace mémoire et exécutent alternativement. Bibliothèque multi-thread: Utilisez des bibliothèques multi-threades telles que PTHEADS pour créer et gérer des threads, en fournissant des fonctions de fonctionnement de thread riches. Coroutine: une implémentation multi-thread légère qui divise les tâches en petites sous-tâches et les exécute tour à tour.

Comment ouvrir web.xml Comment ouvrir web.xml Apr 03, 2025 am 06:51 AM

Pour ouvrir un fichier web.xml, vous pouvez utiliser les méthodes suivantes: Utilisez un éditeur de texte (tel que le bloc-notes ou TextEdit) pour modifier les commandes à l'aide d'un environnement de développement intégré (tel qu'Eclipse ou NetBeans) (Windows: Notepad web.xml; Mac / Linux: Open -A TextEdit web.xml)

L'interprète Python peut-il être supprimé dans le système Linux? L'interprète Python peut-il être supprimé dans le système Linux? Apr 02, 2025 am 07:00 AM

En ce qui concerne le problème de la suppression de l'interpréteur Python qui est livré avec des systèmes Linux, de nombreuses distributions Linux préinstalleront l'interpréteur Python lors de l'installation, et il n'utilise pas le gestionnaire de packages ...

À quoi sert le mieux le Linux? À quoi sert le mieux le Linux? Apr 03, 2025 am 12:11 AM

Linux est mieux utilisé comme gestion de serveurs, systèmes intégrés et environnements de bureau. 1) Dans la gestion des serveurs, Linux est utilisé pour héberger des sites Web, des bases de données et des applications, assurant la stabilité et la fiabilité. 2) Dans les systèmes intégrés, Linux est largement utilisé dans les systèmes électroniques intelligents et automobiles en raison de sa flexibilité et de sa stabilité. 3) Dans l'environnement de bureau, Linux fournit des applications riches et des performances efficaces.

Comment est la compatibilité Debian Hadoop Comment est la compatibilité Debian Hadoop Apr 02, 2025 am 08:42 AM

Debianlinux est connu pour sa stabilité et sa sécurité et est largement utilisé dans les environnements de serveur, de développement et de bureau. Bien qu'il y ait actuellement un manque d'instructions officielles sur la compatibilité directe avec Debian et Hadoop, cet article vous guidera sur la façon de déployer Hadoop sur votre système Debian. Exigences du système Debian: Avant de commencer la configuration de Hadoop, assurez-vous que votre système Debian répond aux exigences de fonctionnement minimales de Hadoop, qui comprend l'installation de l'environnement d'exécution Java (JRE) nécessaire et des packages Hadoop. Étapes de déploiement de Hadoop: Télécharger et unzip Hadoop: Téléchargez la version Hadoop dont vous avez besoin sur le site officiel d'Apachehadoop et résolvez-le

Debian Strings est-il compatible avec plusieurs navigateurs Debian Strings est-il compatible avec plusieurs navigateurs Apr 02, 2025 am 08:30 AM

"Debianstrings" n'est pas un terme standard, et sa signification spécifique n'est pas encore claire. Cet article ne peut pas commenter directement la compatibilité de son navigateur. Cependant, si "DebianStrings" fait référence à une application Web exécutée sur un système Debian, sa compatibilité du navigateur dépend de l'architecture technique de l'application elle-même. La plupart des applications Web modernes se sont engagées à compatibilité entre les navigateurs. Cela repose sur les normes Web suivantes et l'utilisation de technologies frontales bien compatibles (telles que HTML, CSS, JavaScript) et les technologies back-end (telles que PHP, Python, Node.js, etc.). Pour s'assurer que l'application est compatible avec plusieurs navigateurs, les développeurs doivent souvent effectuer des tests croisés et utiliser la réactivité

See all articles