Mislim da to što si zamislio može jednostavnije da se implementira.
Počni od problema, a ne od rešenja. Hajde definiši te agente, šta oni rade i kako se odnose prema drugim objektima.
Onaj sleep ne prekidaš (možda može nekim signal handlerom, ali to je nepotrebno). Ako hoćeš aktivno čekanje, onda imaš petlju tipa:
Code (php):while(true) {
// nešto
sleep(1);
}
Sada u samoj petlji možeš da postaviš uslov tipa
if(treba_li_da_se_izvrši) ..., i ako ne treba ideš ponovo na čekanje od 1sec.
Još bolje je da imaš neku blokirajuću funkciju, na primer socket_select ili zatražiš neki katanac (engl. lock), koja će ti prekinuti čekanje tek kada se dogodi neki upis na jednom od nadgledanih socketa ili kada oslobodiš katanac iz druge niti/procesa.
Međutim veoma je verovatno da u ovom tvom konkretnom slučaju sve to može jednostavnije.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja