17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Manipulation des processus<br />

Principaux modules<br />

CHAPITRE 8<br />

>>> for root, dirs, files in os.walk(top='/var/log',<br />

... onerror=print_error):<br />

... for f in files:<br />

... print(os.path.join(root, f))<br />

...<br />

/var/log/CDIS.custom<br />

/var/log/OSInstall.custom<br />

…<br />

/var/log/cups/page_log<br />

Lecture impossible [Errno 13] Permission denied: '/var/log/krb5kdc'<br />

/var/log/samba/log.nmbd<br />

Lecture impossible [Errno 13] Permission denied: '/var/log/samba/cores'<br />

Les fonctions ci-dessous permettent de créer et de gérer des processus annexes au<br />

processus principal. Ce besoin peut aller du simple appel à un exécutable du système<br />

à des interactions plus complexes mettant en œuvre des protocoles d’échanges de<br />

données entre processus.<br />

abort() -> ne retourne pas !<br />

Envoie un signal SIGABRT au processus en cours. Le processus stoppe immédiatement<br />

son exécution et renvoie un code de sortie à 3.<br />

Sous Unix, un fichier core dump est généré avant la sortie du processus.<br />

exec*([chemin|fichier], [args|arg0, arg1, ..., argn], [env])<br />

Il existe huit fonctions qui permettent d’exécuter un programme sous Python, avec un<br />

même préfixe exec. Ces fonctions lancent l’exécution d’un programme dans un processus<br />

qui vient remplacer le processus en cours. Lorsque le programme a achevé son<br />

exécution, il n’y a pas de retour au processus précédent (voir dans ce cas spawn*()):<br />

execl(chemin, arg0, arg1, ..., argn)<br />

path est le chemin vers l’exécutable. La série des argx représente les paramètres<br />

passés à l’exécutable, sachant que arg0 correspond au nom de l’exécutable, de la<br />

même manière que sys.argv. Le nouveau processus récupère les variables d’environnement<br />

du processus précédent.<br />

execle(chemin, arg0, arg1, ..., argn, env)<br />

233

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!