Accès rapide :
Programmation Système Linux / Unix
Programmation Système Linux / Unix : Plan de la formation
Programmation Système Linux / Unix Introduction aux concepts clés d'un système Unix
Introduction aux concepts clés d'un système Unix : Les outils de développement utilisés
Introduction aux concepts clés d'un système Unix : Les différentes API systèmes Unix/Linux
Introduction aux concepts clés d'un système Unix : Gestion du système de fichiers Unix/Linux
Introduction aux concepts clés d'un système Unix : Gestion de la sécurité
Introduction aux concepts clés d'un système Unix : Processus et ordonnancement des tâches
Introduction aux concepts clés d'un système Unix : Gestion du réseau (TCP IP/UDP)
Programmation Système Linux / Unix Gestion du système de fichiers
Gestion du système de fichiers : Manipulation des fichiers
Gestion du système de fichiers : Manipulation des dossiers
Gestion du système de fichiers : Programmation de la sécurité
Gestion du système de fichier : Manipulation des liens
Programmation Système Linux / Unix Gestion de la mémoire
Gestion de la mémoire : Concepts généraux
Gestion de la mémoire : Quelques fonctions de gestion de la mémoire
Programmation Système Linux / Unix Gestion des processus
Gestion des processus : Quelques fonctions de base
Gestion des processus : Notion de signaux Unix/Linux
Gestion des processus : Gestion de la priorité
Gestion des processus : functions Linux/Unix
Gestion des processus : Utilisation de la fonction fork 1/2
Gestion des processus : Utilisation de la fonction fork 2/2
Gestion des processus : Chargement d'un nouveau processus
Programmation Système Linux / Unix Gestion des threads
Gestion des threads : Qu'est ce qu'un thread ?
Gestion des threads : Déclenchement de deux threads
Gestion des threads : Attente de terminaison de thread
Gestion des threads : Attributs de création de threads
Gestion des threads : Contrôler l'exécution d'un thread
Gestion des threads : Synchronisation des accès concurrents
Programmation Système Linux / Unix Communication inter-processus
Communication inter-processus : Utilisation de mémoire partagée (shared memory)
Communication inter-processus : Utilisation d'un mapping de fichier en mémoire
Communication inter-processus : Utilisation de canaux (pipes)
Communication inter-processus : Utilisation de canaux nommés (named pipes)
Programmation Système Linux / Unix Gestion du Réseau
Communication Réseau - Sockets TCP / IP : Spécification d'une adresse Internet
Communication Réseau - Sockets TCP / IP : Codage d'un serveur TCP/IP
Communication Réseau - Sockets TCP / IP : Codage d'un client TCP/IP
Merci de votre participation
Gestion des processus : Chargement d'un nouveau processus Exemple d'utilisation d'execlp : while( true ) { cout << "Entrez le nom de la commande à lancer : "; cout.flush(); cin >> commandeName; if (strcmp(commandeName, "exit") == 0) { cout << "bye" << endl; break; } pid_t processIdentifier = fork(); if (processIdentifier == 0) { // Chargement code fils execlp( commandeName, commandName, param, (char *)0 ); cerr << "Canot exec new process " << commandeName << endl; exit(-1); } else if (processIdentifier < 0) { // Processus père } } Dominique Liard - 2004 .. 2019 Notes:
Attention, sur l'appel à la fonction execlp, le nom de la commande est passée deux fois : cela est normal. La première occurrence représente l'exécutable à exécuter. La second représente l'entrée dans le futur premier élément du tableau argv passé en paramètre du processus lancé : il ne faut surtout pas l'oublier.
Diapositive précédente
Diapositive suivante
2025 © SARL Infini Software - Tous droits réservés
Mentions légales
Les informations présentes dans ce site vous sont fournies dans le but de vous aider à acquérir les compétences nécessaires à
l'utilisation des langages ou des technologies considérés. Infini Software ne pourra nullement être tenu responsable de l'utilisation
des informations présentes dans ce site.
De plus, si vous remarquez des erreurs ou des oublis dans ce document, n'hésitez surtout pas à nous le signaler en envoyant un mail
à l'adresse : .
Les autres marques et les noms de produits cités dans ces documents sont la propriété de leurs éditeurs respectifs.
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :