![]() |
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| High Level Programming Posez vos questions à propos de C, C + +, Java, SQL, et d'autres langages de programmation ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| obtenir le code de retour de l'enfant fourchue processus (ftp) | KittyJ | High Level Programming | 7 | 08-19-2007 03:44 AM |
| afficher un enfant dans le traitement d'une commande appelée à la mère un | remid1985 | High Level Programming | 7 | 01-19-2007 06:40 PM |
| comment trouver l'id du processus CHID donné id du processus parent | guhas | De programmation et de script Shell | 3 | 10-13-2005 08:13 AM |
| 2 tubes de mise en oeuvre entre un parent et un enfant processus | bwgoudey | High Level Programming | 2 | 09-24-2005 11:14 PM |
| parent et l'enfant processus question? | tosa | High Level Programming | 0 | 02-16-2005 03:04 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Un enfant peut-il un processus de retour de valeur à un processus parent?
Bonjour à tous!
J'ai deux fichiers source C: child.c et parent.c. child.c ressemble à ceci: Code:
int main()
{
Comment puis-je obtenir le retour des parents dans le code de l'enfant (ici, la valeur est 15647), sans l'aide de la communication interprocessus (pipe, mémoire partagée, ...)? Yat-il un moyen de le faire sans que l'IPC? Merci! |
|
||||
|
Merci pour les réponses!
Pour époque: Peut-être que je n'ai pas été clair. Supposed Je veux calculer le produit de deux entiers dans un processus fils. Ainsi, child.c ressemble à ceci: ... certains # include int main (int argc, char * argv []) ( int a; int b; a \u003d atoi (argv [1]); b \u003d atoi (argv [2]); return a * b;) Sous Windows, si je l'utilise ce code, en parent.c: int main () ( int result; char * args [4]; // Préparer les arguments en faveur d'un processus fils args [0] \u003d "child.exe"; args [1] \u003d argv [1]; args [2] \u003d argv [2]; args [3] \u003d NULL; // Lancer le processus fils result \u003d _spawnvp (_P_WAIT, args [0], args); printf ( "produit:% d, result); return 0;) Je suis capable de prendre le retour de produits de l'enfant (a * b) que le retour de _spawnvp () la fonction d'un résultat variable. Sous Linux, posix_spawnp () ou wait () return EXIT_FAILURE ou seulement EXIT_SUCCES. Je n'ai pas trouvé un moyen de capturer dans le parent de calculer la valeur du produit chez l'enfant (la valeur qui est renvoyé de l'enfant). Pour ramen_noodle: Je ne comprends pas que vous startChild () function. Je ne sais pas ce qui est funion. Est une fonction ou un type de données? Je n'ai pas trouvé de référence à funion (). |
|
||||
|
Vous obtenez un peu plus avec WEXITSTATUS (statut) après que vous avez fait un waitpid (pid, & status, ...) mais cela n'a jamais été conçue comme une installation de quelque chose de plus que les très petits entiers.
II ramen_noodle comprendre l'indice correctement, vous devez avoir un pointeur de fonction "funion" qui vous lancez dans l'enfant, et qui retourne son résultat dans l'emplacement mémoire pointé par anarg. Qu'est-ce que vous essayer d'atteindre, pourquoi est régulièrement IPC hors de question? |
|
||||
|
Merci pour les aider Era.
Tout ce qui peut être de retour d'une enfant sans son pid ipc. C'est tout ce que mon exemple ne. Rappelez-vous que la fourche à l'adresse des parents est copié dans l'espace de l'enfant. Ensuite, les affectations ne sont partagés. L'exception est vfork. Il ya quelques hacks laid que peut accomplir ce que vous avez besoin d'utiliser ce. Vous songez à mai au lieu de fils. Il semble que ce que vous avez à l'esprit. Traditionnellement, dans un processus (IPC) de paradigme: Tubes sont simples et propres. Tout le monde va prendre du temps pour s'habituer à. |
![]() |
| Bookmarks |
| Tags |
| linux |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|