III
Table des matières
AVANT-PROPOS...........................................................................................................I
1 ........................................................................................................................................1
CONCEPTS ET OUTILS ..............................................................................................1
GÉNÉRALITÉS SUR LE DÉVELOPPEMENT SOUS LINUX .....................................................1
OUTILS DE DÉVELOPPEMENT ..........................................................................................3
ÉDITEURS DE TEXTE .......................................................................................................4
Vi et Emacs.................................................................................................................4
Éditeurs Gnome ou Kde..............................................................................................4
Nedit ...........................................................................................................................6
COMPILATEUR, ÉDITEUR DE LIENS..................................................................................6
DÉBOGUEUR, PROFÏLEUR................................................................................................9
TRAITEMENT DU CODE SOURCE ....................................................................................14
Vérificateur de code..................................................................................................14
Mise en forme...........................................................................................................14
Utilitaires divers.......................................................................................................16
CONSTRUCTION D'APPLICATION ...................................................................................18
DISTRIBUTION DU LOGICIEL..........................................................................................19
Archive classique......................................................................................................19
Paquetage à la manière Red Hat..............................................................................20
ENVIRONNEMENTS DE DÉVELOPPEMENT INTÉGRÉ........................................................21
CONTRÔLE DE VERSION ................................................................................................21
BIBLIOTHÈQUES SUPPLÉMENTAIRES POUR LE DÉVELOPPEMENT ...................................22
interface utilisateur en mode texte............................................................................23
Developpement sous X-Window................................................................................23
Les environnements Kde et Gnome...........................................................................24
CONCLUSION ................................................................................................................24
2 ......................................................................................................................................25
LA NOTION DE PROCESSUS...................................................................................25
PRESENTATION DES PROCESSUS....................................................................................25
IDENTIFICATION PAR LE PID.........................................................................................26
IDENTIFICATION DE L'UTILISATEUR CORRESPONDANT AU PROCESSUS ..........................29
IDENTIFICATION GROUPE D'UTILISATEURS DU PROCESSUS............................................35
IDENTIFICATION DU GROUPE DE PROCESSUS .................................................................38
IDENTIFICATION DE SESSION .........................................................................................41
CAPACITÉS D'UN PROCESSUS ........................................................................................43
CONCLUSION ................................................................................................................46
3 ......................................................................................................................................47
ACCÈS À L'ENVIRONNEMENT..............................................................................47
IV
VARIABLES D'ENVIRONNEMENT ...................................................................................47
VARIABLES D'ENVIRONNEMENT COURAMMENT UTILISÉES...........................................54
ARGUMENTS EN LIGNE DE COMMANDE ........................................................................56
OPTIONS SIMPLES - POSIX.2 .........................................................................................58
OPTIONS LONGUES - GNU.............................................................................................60
Sous-options.............................................................................................................63
EXEMPLE COMPLET D'ACCÈS L'ENVIRONNEMENT.........................................................64
CONCLUSION................................................................................................................70
4......................................................................................................................................71
EXÉCUTION DES PROGRAMMES.........................................................................71
LANCEMENT D'UN NOUVEAU PROGRAMME...................................................................71
CAUSES D'ÉCHEC DE LANCEMENT D'UN PROGRAMME...................................................77
FONCTIONS SIMPLIFIÉES POUR EXÉCUTER UN SOUS-PROGRAMME ................................80
CONCLUSION................................................................................................................88
5......................................................................................................................................89
FIN D'UN PROGRAMME..........................................................................................89
TERMINAISON D'UN PROGRAMME.................................................................................89
Terminaison normale d'un processus.......................................................................89
Terminaison anormale d'un processus.....................................................................92
EXÉCUTION AUTOMATIQUE DE ROUTINES DE TERMINAISON.........................................94
ATTENDRE LA FIN D'UN PROCESSUS FILS ......................................................................98
SIGNALER UNE ERREUR ..............................................................................................109
CONCLUSION..............................................................................................................117
6....................................................................................................................................119
GESTION CLASSIQUE DES SIGNAUX................................................................119
GÉNÉRALITÉS.............................................................................................................119
LISTE DES SIGNAUX SOUS LINUX................................................................................121
Signaux SIGABRT et SIGIOT.................................................................................121
Signaux SIGALRM, SIGVTALRM et SlGPROF.....................................................122
Signaux SIGBUS et SIGSEGV................................................................................122
Signaux SIGCHLD et SIGCLD..............................................................................123
Signaux SIGFPE et SIGSTKFLT............................................................................123
Signal SIGHUP......................................................................................................123
Signal SIGILL.........................................................................................................124
Signal SIGINT........................................................................................................125
Signaux SIGIO et SIGPOLL...................................................................................125
Signal SIGKILL......................................................................................................125
Signal SIGPIPE......................................................................................................126
Signal SIGQUIT.....................................................................................................126