J’ai un programme masterprog
qui exec () est un binary correspondant à un modèle spécifique parmi plusieurs fichiers tels que slaveprog.1.1.0
, slaveprog.1.2.1
, slaveprog.2.1.10
, … dans le même répertoire.
Pour être plus clair, mon masterprog
vérifie l’environnement du système (dans ce cas, Ubuntu 16.04 LTS amd64) et recherche quelques facteurs supplémentaires et décide quel slaveprog.XYZ
exécuter. Ma convention de nommage slaveprog
est la suivante:
X
: 1 = debian | 2 = rpm Y
: 1 = amd64 | 2 = x86 Z
: dernière version de slaveprog Mon programme maître est capable de générer slaveprog.1.1.
de l’environnement et appelle:
access("./slaveprog.1.1.*",F_OK); // To verify if file exists execl("/slaveprog.1.1.*","/slaveprog.1.1.*",NULL);
Mais malheureusement, access()
renvoie -1
même si slaveprog.1.1.3
existe dans le répertoire de travail en cours.
Quelqu’un peut-il me suggérer s’il existe un moyen plus simple que d’ouvrir le répertoire, répertorier tous les fichiers et sélectionner le fichier approprié pour y parvenir?