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
strace
prati pozive u sustav - naredba
ltrace
prati 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
man
stranica- 1: Executable programs or shell commands
- 2: System calls (functions provided by the kernel)
- 3: Library calls (functions within program libraries)
-
naredba
man [ODJELJAK] STRANICA
daje stranicuSTRANICA
u odjeljkuODJELJAK
- potrebno je navesti odjeljak slučaju kad istoimena stranica postoji u više odjeljaka
Zadatak
- Usporedite
man
stranice imenakill
u navedena tri odjeljka ako postoje. Po čemu se razlikuju? Što svaka od njih opisuje? -
Pratite pozive u sustav koje radi naredba
kill
kada:- 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
kill
radi prije poziva funkcijekill()
. Poziva li se funkcijakill()
u svakom od danih slučajeva? Razlikuju li se njene povratne vrijednosti?
Author: Vedran Miletić