Timeout POSIX Le sujet est résolu

Tout ce qui concerne la programmation.
Répondre
Avatar de l’utilisateur
Dunatotatos
Membre
Membre
Messages : 425
Inscription : 11 mai 2016, 20:56
Status : Hors-ligne

Salut à tous,

Je cherche à mettre un timeout sur une commande dans un script sh. Je pourrais utiliser la commande `timeout`, mais j'écris mon script pour être POSIX compliant. Et timeout n'est pas POSIX. Existe-t-il une alternative simple et POSIX ?

A+
Duna
Avatar de l’utilisateur
Dunatotatos
Membre
Membre
Messages : 425
Inscription : 11 mai 2016, 20:56
Status : Hors-ligne

Il semblerait que je tienne quelque-chose :

Code : Tout sélectionner

#!/bin/sh

sleep 20 & # Longue tâche sur laquelle mettre un timeout
jobPID=$!

(sleep 5; kill -9 $jobPID) & # On met un timeout de 5s
watchdogPID=$!

wait $jobPID
kill -9 $watchdogPID
Il n'y a qu'à vérifier que $! est bien POSIX (et si possible portable).
Avatar de l’utilisateur
Mimoza
Contributeur
Contributeur
Messages : 655
Inscription : 22 avr. 2016, 12:00
Localisation : Terre
Status : Hors-ligne

En effet, jolie montage.
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Bonjour
…vérifier que $! est bien POSIX…


Il semblerait que ce soit le cas vu cette page : http://pubs.opengroup.org/onlinepubs/96 ... /wait.html

(je suppose que tu l'avais déjà trouvé depuis le temps, mais ça pourra servir quand je repasserai par là)
Avatar de l’utilisateur
Dunatotatos
Membre
Membre
Messages : 425
Inscription : 11 mai 2016, 20:56
Status : Hors-ligne

Merci !
J'avais bien confirmation que c'était portable, mais pas POSIX. J'avoue avoir un peu abandonné mes recherches.

Pour la peine, tu reçois une coche verte :)
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

Bonsoir Dunatotatos

Depuis quelque années, je parcours de temps en temps la documentation accessible par ce lien : The Open Group Base Specifications Issue 7
Possible que ça t'intéresse aussi (si tu ne l'avais pas déjà trouvé)

Bonne continuation. :006:
Avatar de l’utilisateur
Dunatotatos
Membre
Membre
Messages : 425
Inscription : 11 mai 2016, 20:56
Status : Hors-ligne

Ajouté aux marque-pages !
Merci :)
Répondre