>> La morte di un child e' segnalata da SIGCHLD (di default, occhio pero' >> che >> e' trappabile), ma non lavorerei con i segnali unix (per questo >> specifico >> problema) neanche sotto tortura. >> >> Dove non hai a disposizione kqueue (e WaitForMultipleObjects) vai di >> polling e waitpid con WHOHANG: >> >> while 1: >> aspetta... >> if waitpid(blah blah, WNOHANG): >> break > > Ho il requirement di farlo per qualunque PID, non solo i figli del mio > processo. > >
tutta la famiglia wait() puo' attendere anche i process group, se ti riferisci ad altro, beh non si puo' fare, e' contro lo standard POSIX :) un approccio estremo (che pero' e' usato anche da upstart) e' di agganciare una ptrace che segua le fork(), ma probabilmente e' un filino esagerato... P.S. su Linux in realta' la syscall prctl ha aggiunto una serie di nuove modalita' per cui il legale tra parent e children (e nipoti) puo' essere modificato in modi divertenti -- Roberto De Ioris http://unbit.it _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python