Maison > Tutoriel système > Linux > le corps du texte

5 façons liées à l'hibernation en attente dans le système Linux

王林
Libérer: 2024-02-12 21:03:16
avant
1000 Les gens l'ont consulté

Dans les systèmes Linux, l'attente d'hibernation est généralement utilisée pour économiser de l'énergie ou pour attendre la fin de certaines opérations importantes. Cependant, dans les applications réelles, vous pouvez rencontrer diverses situations dans lesquelles vous devez utiliser différentes méthodes d'attente en veille. Cet article vous présentera 5 méthodes d'attente d'hibernation Linux couramment utilisées pour vous aider à mieux comprendre et maîtriser cette technique.

Les commandes sleep et wait sous Linux vous permettent d'exécuter des commandes à une vitesse sélectionnée ou de capturer et d'afficher l'état de sortie d'une tâche après avoir attendu qu'elle se termine. sleep insère simplement une pause chronométrée entre les commandes. La commande wait est informée qu'elle est terminée jusqu'à ce qu'elle se termine.

Commande de sommeil

La commande

sleep fera une pause pendant la durée spécifiée. Il est couramment utilisé dans les scripts, mais fonctionne également en ligne de commande. Dans l'exemple ci-dessous, sleep fait une pause de 30 secondes entre deux commandes de date.

[root@localhost ~]# date ; sleep 30 ; date
Thu Nov 11 05:06:44 EST 2021
Thu Nov 11 05:07:14 EST 2021
Copier après la connexion

5 façons liées à lhibernation en attente dans le système Linux
La commande sleep prend un argument numérique comme nombre de secondes. Mais vous pouvez aussi le faire dormir à des heures différentes en ajoutant un caractère dans le paramètre :

  • 10s = 10 secondes
  • 1 minute = 1 minute
  • 2h = 2 heures
  • 3j = 3 jours
[root@localhost ~]# date ; sleep 10s ; date
Thu Nov 11 05:11:09 EST 2021
Thu Nov 11 05:11:19 EST 2021
Copier après la connexion

Le temps de sommeil peut également être inférieur à 1 seconde, il suffit d'ajouter un ..

devant le numéro
  • .1 = un dixième de seconde
  • .01 = un centième de seconde
  • .001 = millième de seconde
[root@localhost ~]# date ; sleep .1 ; date
Thu Nov 11 05:14:03 EST 2021
Thu Nov 11 05:14:03 EST 2021
Copier après la connexion
La commande

sleep est généralement utilisée pour exécuter une commande périodiquement, par exemple toutes les 10 secondes ou toutes les minutes, lorsque vous souhaitez surveiller une activité. Par exemple, vous attendez peut-être qu’un collègue se connecte à un serveur de fichiers. Vous pouvez exécuter une commande comme celle-ci :

[root@localhost ~]# while true ; do who ; sleep 100 ; done
Copier après la connexion

5 façons liées à lhibernation en attente dans le système Linux
Vous pouvez observer des changements dans l'utilisation de la mémoire.

[root@localhost ~]# while true ; do free -h ; sleep 5 ; done
Copier après la connexion
5 façons liées à lhibernation en attente dans le système Linux

Commande d'attente

La commande

wait capture l'état de sortie du processus en arrière-plan après avoir attendu la fin du processus en arrière-plan. Vous pouvez également l'utiliser dans des scripts. Remplacez la commande sleep par le processus que vous souhaitez attendre. Ce script affiche également l'état de sortie.

#!/bin/bash

sleep 5 &
process_id=$!
echo “PID: $process_id”
wait $process_id
echo “Exit status: $?”
Copier après la connexion

La première ligne démarre la commande sleep en arrière-plan. La deuxième ligne obtient l'ID de processus du processus en arrière-plan le plus récemment exécuté$!. Le script affiche ensuite ces informations, attend la fin du processus et affiche l'état de sortie.

Si vous utilisez wait -n (aucun paramètre supplémentaire requis), wait attendra la fin des tâches en arrière-plan. Dans l'exemple ci-dessous, la commande sleep 6 se termine en premier et le script se termine, mais les deux autres processus sleep continueront de s'exécuter en arrière-plan pendant quelques secondes.

#!/bin/bash

sleep 15 &
sleep 9 &
sleep 6 &
wait -n
echo “First job has been completed.”
Copier après la connexion

Si vous le remplacez par le script suivant, il vous indiquera quand chaque processus de sommeil est terminé. En raison du timing, cela se produira dans l’ordre inverse du début du processus de sommeil.

#!/bin/bash

sleep 15 &
sleep 9 &
sleep 6 &
wait -n
echo “First job has been completed.”
wait -n
echo “Next job has been completed.”
wait
echo “All jobs have been completed.”
Copier après la connexion

Remarque : le processus d'attente doit être un "processus enfant" (un processus démarré dans le shell actuel).

En bref, il existe de nombreuses façons de dormir et d'attendre dans les systèmes Linux, et chaque méthode a ses propres scénarios d'application, avantages et inconvénients. Ils ne pourront être mieux utilisés que si leurs principes de base et leur champ d’application sont correctement compris. Je pense que grâce à l'introduction de cet article, vous comprenez mieux l'attente d'hibernation de 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!

source:lxlinux.net
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!