Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parYasmina Deville Modifié depuis plus de 9 années
1
Exec et signaux
2
Comment surveiller les processus? Avant d’aller plus loin, vous aurez sans doute besoin de cette commande : ps –A u: permet d’afficher tout les processus en cours grep eleve : permet de sélectionner toutes les lignes qui contiennent eleve Donc une commande comme ça : ps –A u|grep eleve Permet d’afficher tous les processus qui contiennent le mot eleve
3
Ce qu’on sait faire On sait dupliquer un processus : fork On sait faire exécuter un code différent entre le père et le fils En utilisant le code de retour du fork() Faire attendre un processus : sleep(nbSec) et wait() Fork()
4
Ce qu’on va apprendre Savoir changer le code d’un programme à la volée exec() Plusieurs variantes existent, la plus courante : execl("/bin/ls", "ls", "-a“,…, 0) ; Combinaison de fork et de exec : lancement d’un nouveau processus Source de hacking !
5
Exec Grace à cet appel, on remplace l’image mémoire du processus par la commande appelée Rien n’est plus exécuté après cet appel ! Sauf erreur… A tester… code=execl("/bin/ls", "ls", "-a", 0) ; if (code != 0){ cout<< "erreur"; } cout<<"après exec…";
6
Exec et Fork ! Grace à cette combinaison, on peut faire plein de choses ! fork() exec()
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.