The UNIX and Linux Forums  

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > 高レベルのプログラミング
Googleのunix.com



高レベルのプログラミング は、 C 、 C + +についての質問の投稿は、 Java 、 SQL 、および他のプログラミング言語です。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
フォークした子プロセスの戻りコード( FTPの)の取得 KittyJ 高レベルのプログラミング 7 2007年8月19日 04:44午前
子プロセスの表示には、コマンドは、親を1つで呼び出さ remid1985 高レベルのプログラミング 7 2007年1月19日 06:40午後
chidプロセスをどのように親プロセスIDからIDを確認する guhas シェルプログラミングとスクリプティング 3 2005年10月13日 09:13午前
親と子プロセスの間に2パイプの実装 bwgoudey 高レベルのプログラミング 2 2005年9月25日 12:14午前
親と子プロセスの質問ですか? 土佐 高レベルのプログラミング 0 2005年2月16日 03:04午後

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2008年4月7日
Ametis1970 Ametis1970 is offline
登録ユーザー
  
 

参加日: 2008年3月
投稿数: 4
子プロセスは親プロセスには、特定の値を返すことはできますか?

みなさんこんにちは!

私は2つのCのソースファイル: child.cがあるとparent.c 。

そのようなchild.cになります:

コード:
int main()
{
...
return 15647
}

通話parent.c子( )を使用してフォークの- exec ( )またはposix_spawn ( ) 。
親にはどうすれば) (パイプ、共有メモリ、 ... )間通信を使用せずに、子から(ここの値15647は、リターンコードを入手できますか?
そんなことをしても同様ですがなく、 IPCのですか?

ありがとうございました!
  #2固定リンク)  
Old 2008年4月7日
時代 era is offline Forum Advisor  
Herder of Useless Cats (On Sabbatical)
  
 

参加日: 2008年3月
場所: /there/is/only/bin/sh
投稿数: 3652
( )は、子供からの終了コードを返します待ちます。

定義では、これほどのIPCの一形態ですが、この2つのプロセスをここに通信している。
  #3固定リンク)  
Old 2008年4月7日
ramen_noodle ramen_noodle is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2007年12月
場所:バージニア州、アメリカ合衆国。
投稿数: 251

コード:
pid_t startChild(void (*funion)(void *arg), void *anarg) {
pid_t chld;
                       if ( (chld = fork()) == 0) {
                           funion(anarg);
                       }
                       return chld;
}

  #4固定リンク)  
Old 2008年4月7日
Ametis1970 Ametis1970 is offline
登録ユーザー
  
 

参加日: 2008年3月
投稿数: 4
回答していただきありがとうございます。

時代には:

たぶん私は明確ではなかった。
私は子プロセスの2つの整数の積を計算して欲しい。
そのためには、そのようなchild.cになります:

...いくつかの番号を含める

INTはメイン( INTはargc 、文字* argv [ ] )
INTは1 ;
INTはb ;
一\u003d atoi ( argv [ 1 ] ) ;
b \u003d atoi ( argv [ 2 ] ) ;
* bを返す;


Windows上では、 parent.cの場合、このコードを使用する:

メインINTは( )
INTは結果;
文字* args [ 4 ] ;
//子プロセスの引数を準備
args [ 0 ] \u003d " child.exe " ;
args [ 1 ] \u003d argv [ 1 ] ;
args [ 2 ] \u003d argv [ 2 ] ;
args [ 3 ] \u003dがNULL ;
//プロセスでは、子供を開始
結果\u003d _spawnvp ( _P_WAIT 、 args [ 0 ] 、 args )を;
printf ( "商品: % dの結果) ;
戻り0 ;


私の子供からの戻りの製品( *捕まえることができるんだイ)として返す結果を変数に_spawnvpから( )関数。
Linuxでは、 posix_spawnp ( )または( )を返すだけEXIT_FAILUREまたはEXIT_SUCCES待ちます。私は、製品の値は、子供には子供に返されます(値)を計算する方法を捕まえるのは、親が見つかりませんでした。

ramen_noodleするには:
私はあなた( )関数startChild理解していない。
私がfunionているのか分からない。関数やデータ型はありますか?私funionへの参照が見つかりませんでした( ) 。
  #5固定リンク)  
Old 2008年4月7日
時代 era is offline Forum Advisor  
Herder of Useless Cats (On Sabbatical)
  
 

参加日: 2008年3月
場所: /there/is/only/bin/sh
投稿数: 3652
あなた)が、わずかにWEXITSTATUS後には、 waitpid ( pidを行っている(状態) 、 &ステータス、 ...詳細を取得すると、この非常に小さな整数としても何のための施設をもっと意味ではなかった。

2正常に動作する場合があると、関数ポインタを実行する場合は、子供には" funion " 、 ramen_noodleのヒントを理解し、これはメモリの場所にその結果を返しますがanargを指摘した。

何を達成しようとしている、なぜ正規のIPCのは問題外ですか?
  #6固定リンク)  
Old 2008年4月7日
ramen_noodle ramen_noodle is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2007年12月
場所:バージニア州、アメリカ合衆国。
投稿数: 251
時代を支援していただきありがとうございます。
すべては、子供から返されることができますが、 IPCのpidをなしている。
私の例は、すべてのです。で、子供が親のアドレス空間にコピーされ、フォークを忘れないでください。その後の課題を共有しています。
vforkは例外です。そこでは、このを使用して必要なものを成し遂げることができるいくつかの厄介なハッキングされています。代わりにスレッドを考慮する必要があります。それはあなたの心に何があるように聞こえる。

従来のプロセスで( )のパラダイムのIPC :パイプシンプルなもので清潔。
それ以外は時間がかかることに慣れるためだ。
Closed Thread

ブックマーク

タグ
linuxの

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 05:48午前


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0