183 votes

Bash: sommeil infini (blocage infini)

J'utilise startx de X de départ qui permettra d'évaluer mon .xinitrc. Dans mon .xinitrc - je commencer mon gestionnaire de fenêtre à l'aide de /usr/bin/mywm. Maintenant, si je tue mon WM (dans l'ordre de f.e. test de quelques autres WM), X résilier trop parce que l' .xinitrc script atteint expressions du FOLKLORE. J'ai donc ajouté ceci à la fin de mon .xinitrc:

while true; do sleep 10000; done

De cette façon, X ne veut pas résilier si je tue mon WM. Maintenant, ma question: comment puis-je faire une infinie sommeil au lieu de boucle de sommeil? Est-il une commande qui sera un peu comme geler le script?

Meilleures salutations

394voto

Donarsson Points 236

sleep infinity fait exactement ce que cela suggère et fonctionne sans abus de chat.

72voto

Michał Trybus Points 5113

Cela semble peut-être moche, mais pourquoi ne pas simplement lancer cat et le laisser attendre pour une entrée pour toujours?

7voto

michuelnik Points 147

Pourquoi ne pas envoyer un SIGSTOP à lui-même?

Cela devrait suspendre le processus jusqu'à la réception de SIGCONT. Ce qui est dans votre cas: jamais.

kill -STOP "$$";

2voto

mouviciel Points 36624

Une solution possible autour d’une commande wait attente d’un processus qui ne se termine pas:

 yes > /dev/null & pid=$!
wait $pid
 

0voto

Dennis Williamson Points 105818

Au lieu de tuer le gestionnaire de fenêtres, essayez d’exécuter le nouveau avec --replace ou -replace si disponible.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X