Praćenje korištenja programskih sučelja sustava korištenjem alata strace i ltrace
- poziv u sustav (engl. system call) je način na koji program traži uslugu od jezgre operacijskog sustava
- poziv biblioteci (engl. library call) je način na koji program traži uslugu od neke od biblioteka
- naredba
straceprati pozive u sustav - naredba
ltraceprati pozive bibliotekama -
obje naredbe ispisuju na standardni izlaz za greške (
stderr) koji možemo preusmjeriti slično kao standardni izlaz korištenjem2>,2>> -
često korišteni odjeljci
manstranica- 1: Executable programs or shell commands
- 2: System calls (functions provided by the kernel)
- 3: Library calls (functions within program libraries)
-
naredba
man [ODJELJAK] STRANICAdaje stranicuSTRANICAu odjeljkuODJELJAK- potrebno je navesti odjeljak slučaju kad istoimena stranica postoji u više odjeljaka
Zadatak
- Usporedite
manstranice imenakillu navedena tri odjeljka ako postoje. Po čemu se razlikuju? Što svaka od njih opisuje? -
Pratite pozive u sustav koje radi naredba
killkada:- proces s danim PID-om ne postoji,
- proces s danim PID-om postoji, ali nemate dozvolu slanja signala tom procesu,
- proces s danim PID-om biva uspješno ubijen.
-
Objasnite što naredba
killradi prije poziva funkcijekill(). Poziva li se funkcijakill()u svakom od danih slučajeva? Razlikuju li se njene povratne vrijednosti?
Author: Vedran Miletić