![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Hoog Niveau Programmering Post vragen over C, C + +, Java, SQL, en andere programmeertalen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| hel & wiskunde | ogoy | Programmeren en Shell Scripting | 5 | 05-26-2008 10:58 PM |
| hel en sqlite | ogoy | Programmeren en Shell Scripting | 2 | 05-21-2008 12:07 AM |
| rpm hel! | knmwt15000 | UNIX voor Dummies Questions & Answers | 7 | 03-27-2002 06:06 |
| negatieve UID / GID?! Ik zie 'em maar wat doen ze betekenen? | hellz | UNIX voor Dummies Questions & Answers | 2 | 09-07-2001 03:18 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Hallo ik ben met ernstige problemen met de vork commando, i wezen wilt maken 9 of 10 kinderen en hun pid nummers opslaan in array, terwijl de kinderen verblijft totdat ik doden () ze later, kan ik niet lijken te bepalen hoe veel worden gedaan als ze lijken allemaal op hun eigen kinderen.
Ik heb weten te stoppen crashen mijn systeem, kan iemand helpen alstublieft, geen van mijn boeken zijn elk gebruik. |
|
||||
|
Dit is een zeer veel voorkomend probleem geconstateerd met een vork.
U kunt enkele vlag variabele die zullen voorkomen dat het kind proces tot bord weer wanneer de ouder vorken. Een zeer primitieve code kan worden somthing like this: -- # include <stdio.h> # include <unistd.h> # include <errno. h> void main () ( int child1, child2, Val, if_child; char err [1000]; if_child \u003d 1; memset (err, '\ 0', strlen (err)); printf ( "\ nParent proces-ID is% d \ n", getpid ()); child1 \u003d fork (); if (child1 \u003d\u003d -1) ( strcpy (err, strerror (errno)); ) anders ( if (child1> 0) / * Als vork commando succesvol is kind PID zal groter zijn dan nul. * / ( printf ( "\ nHet child1 proces-ID is% d \ n", child1); if_child \u003d 0; / * Stel de vlag hier om te voorkomen dat kinderen vanaf forken * / ) ) memset (err, '\ 0', strlen (err)); if (if_child \u003d\u003d 0) ( child2 \u003d fork (); if (child2 \u003d\u003d -1) ( strcpy (err, strerror (errno)); ) printf ( "\ nHet child2 proces-ID is% d \ n", child2); doden (child2); ) doden (child1); exit (0); ) |
|
||||
|
Ik had hetzelfde probleem met een van mijn projecten (u kunt zien wanneer de draad te noemen 'het maken van een proces-boom') en meer kind processen dan ik had verwacht was echt een vervelend probleem.
Nog steeds niet uit te vinden hoe het werkt precies maar ik hoop aniruddha advies helpt mij ook. |
|
||||
|
Dankzij annibuddha (was dat hoe je het spellen?) Zien bb666 na Ik dacht dat ik zou na dit ...
Ik had een beetje moeite zoals ik de toegevoegde meer kinderen, maar besloot voor het opslaan van de moedermaatschappij ID bij het begin: pid \u003d getpid () dan laat ik net gecontroleerd de variabele die ik heb begrepen zou worden in alle kinderen tegen tegen getpid () namelijk ervoor zorgen dat een kind proces stopt en wacht altijd nadat het werd gemaakt: if (pid! \u003d getpid ()) // dit is niet de moedermaatschappij for (;;) vervolgens de processen gewoon zitten, totdat zij worden gedood (hopelijk) Laatst gewijzigd door theultimatechuf; op 01.24.2002 06:13 PM.. |
|
||||
|
Yep. Dat is een manier om dit te doen of je kunt gewoon stoppen met het verzenden van een signaal, zodat het kind zal geen afval uw geheugen voor niets. Vervang gewoon voor (;)
met doden (getpid (), "SIGSTOP). Dat is allemaal prima en dandy, maar wat als u wilt dat het kind proces om daadwerkelijk iets doen? Want als je stopt of stuur het in een oneindige lus dan kun je niet helemaal werken binnen het kind kan je? Dat is eigenlijk het onderdeel Ik ben geïnteresseerd in: werken binnen het kind, maar voorkomen dat het forken zodra de moedermaatschappij vorken opnieuw. |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|