Vänta på barnen även vid dödsfall

Permalänk
Medlem

Vänta på barnen även vid dödsfall

Kan man göra så att en parent process väntar på sina barn även när kill använts för att avsluta parent:en?

Dvs, kan man förhindra att barnen blir adopterade av PID 1? Har läst man 2 wait, men kan inte se hur det skulle hjälpa.

Visa signatur

Light travels faster than sound. Is that why some people appear to be smart before they speak?
It's a big rock. I can't wait to tell my friends. They don't have a rock this big.

Permalänk

Vilket språk/Vilken plattform?
Antar att du menar C på Posix?

Visa signatur

Python-IRC på svenska: #python.se

Permalänk
Medlem

C/C++ på posix ja.

Edit:
Barnen dör korrekt när föräldern avslutas med ^C eller genom att den kommer ner till return 0, dock om man kör kill <pid> i en annan terminal eller via top så blir barnen adopterade och fortsätter köra.

Visa signatur

Light travels faster than sound. Is that why some people appear to be smart before they speak?
It's a big rock. I can't wait to tell my friends. They don't have a rock this big.

Permalänk
Medlem

Installera signal handlers som avslutar ditt program kontrollerat så du får chansen att avsluta dina egna barn. Något åt det här hållet (pseudokod):

volatile sig_atomic_t running = 1; int main(void) { setup_sighandlers(); while(running) { // hantera input, sov i read() eller något annat } cleanup(); return 0; } void sigterm_handler(int signal) { running = 0; }

Gör det du ska med dina barn i cleanup(). Installera den för t ex SIGTERM, SIGINT och SIGQUIT så får du alltid kontrollerade avslut på processen.

Permalänk
Medlem

Ok, ska se vad jag kan göra med det, tackar.

Visa signatur

Light travels faster than sound. Is that why some people appear to be smart before they speak?
It's a big rock. I can't wait to tell my friends. They don't have a rock this big.

Permalänk
Medlem
Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Malesca
Vilken rubrik

Haha jag fick mig ett gott skratt, pratar man verkligen med dessa termer när det gäller programmering?

Visa signatur

| AMD Athlon XP 2500+@10x225 | ABIT AN7 | SLK947U | Zalman ZM-F2 92 MM | 2x256MB OCZ EL DDR PC-3200 Platinum Limited Edition BH-6 (2-2-2-11) 1x512MB winmos Speed Premium PC-3200 512MB winbond BH-5| PowerColor 9800 Pro @ 425,25/688,5 MHZ VGPU/VDDR | Seagate Barracuda 7200.7 160GB S-ATA/150 8MB cache 7200RPM, Hitachi 7K250 250GB 7200RPM 8MB P-ATA, Seagate Barracuda 250GB 7200.8 P-ATA | SB Audigy 2 | NEC 3520A | Dell Ultrasharp 2005FPW Flat Panel Monitor |

Permalänk
Medlem

Jo, jag blev allt lite förskräckt när jag såg topicen! "Oj fan? Hmm är inte detta programerings forum?"

Permalänk
Medlem

rubriken var rätt så lol och det var nog avsiktligt

man säger kanske sällan "dödsfall" men visst kan man vänta på barn, syskon och föräldrar när man kodar alltid..

Permalänk
Medlem

Ville ju skriva en rubrik som både var intressant så folk läste tråden, samt som hade anknytning till ämnet.

Visa signatur

Light travels faster than sound. Is that why some people appear to be smart before they speak?
It's a big rock. I can't wait to tell my friends. They don't have a rock this big.

Permalänk
Hedersmedlem

Rubriken fick mig att sätta i halsen för att sedan ligga dubbelvikt.
Du lyckades iaf dra uppmärksamhet till din tråd.

m0rris fick nog till en ganska bra pseudokod där om man ska snacka ontopic...

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.