PDA

View Full Version : [ulimit]questo sconosciuto


RaouL_BennetH
31-08-2005, 11:15
Ieri sera,per puro caso,mentre studiavo un pò di C,ho scritto un codice sballato credendo di far bene :rolleyes: e avviando il programmino dopo pochi secondi avevo linux praticamente inutilizzabile,tipo come succede per l'ormai famoso codice di una riga che manda in crash linux.Ora,documentandomi un pò,ho visto che c'è appunto "ulimit" allo scopo di evitare i fastidi relativi a quello che in genere si chiama fork bomb.

Il dubbio però che mi è venuto è il seguente:

ulimit,limita appunto il numero di processi generati da un unico processo,o meglio,copie dello stesso processo,oppure agisce sulla quantità di processi (anche diversi) in generale?

Faccio un esempio perchè so di non essere chiaro:

1) Creo il processo "raoul",che crea infiniti processi identici "raoul" fino a succhiare tutte le risorse disponibili e rendere il sistema inutilizzabile.

2) Ho normalmente all'avvio una trentina di processi,lancio startx,apro un browser,openoffice,gimp,una konsole,etc..che ovviamente daranno vita ad altri processi.

Ulimit,mi va ad agire sul caso 1) oppure anche sul caso 2)(dove sarebbe un problema)?

Thx.

RaouL.

beppegrillo
31-08-2005, 11:31
Basterebbe un man unlimit per chiarere i tuoi dubbi.
Cmq ulimit agisce sulla quantità totale di processi che un utente può generare.

RaouL_BennetH
31-08-2005, 11:33
Basterebbe un man unlimit per chiarere i tuoi dubbi.
Cmq ulimit agisce sulla quantità totale di processi che un utente può generare.

Si,questo mi è chiaro.Non mi è chiaro se limita il numero di processi unicamente derivanti da un solo processo padre o lo fa indiscriminatamente per qualsiasi processo.

uovobw
31-08-2005, 11:40
se fossi in te io creerei un utente con il solo scopo di far andare il programma, lo ulimiti bene bene e sei a posto!
così con altri utenti sei tranquillo che sono illimitati, mentre non rischi con quello di fare casini!
ciao

RaouL_BennetH
31-08-2005, 11:48
se fossi in te io creerei un utente con il solo scopo di far andare il programma, lo ulimiti bene bene e sei a posto!
così con altri utenti sei tranquillo che sono illimitati, mentre non rischi con quello di fare casini!
ciao

Mi rendo conto di non essere bravo e chiaro a spiegarmi,quindi,abbiate un pò di pazienza che prima o poi riuscirò a farmi capire :)

Il problema non è dato dall'errore che ho commesso in fase di programmazione.

Prendiamo questo codice di cui si è già parlato ed abusato su internet:


: (){ : |:&};:


Apri un terminale,digitalo e in pochi secondi il tuo linux non sarà più utilizzabile se non dopo un brutale riavvio.(anzi NON FATELO!!)