私はすでにかなり多くのことを検索していて、おそらく私はすでにいくつかの有用な答えに出くわしたが、それらを理解することができなかったことを知っています...私はプログラマーの多くではありません:)
場合は、デーモン(その間に何が起こっているかとは完全に独立したバックグラウンドプロセス)を実装して、サーバー(IRCクライアントを書き込んでいる)から受信しているデータを解析しますが、selectを使用して非ブロッキング方式で実行します()。
これが私のコードの断片です。しかし、//プログラムの残りの部分のコメントの下でprintfにアクセスできません
私はそれが十分に理解できることを願っています。
pID=fork();
if(pID < 0){
//failed to execute fork()
perror("Error while forking");
getchar();getchar();
exit(1);
}
if(pID > 0){
exit(0);
}
//child down here
umask(0);
//setting new session
sID = setpgid(0,0);
if(sID < 0){
perror("Error while setting new session");
getchar();getchar();
exit(1);
}
while(1){
sleep(1);
if((readReady = readReadiness(sockfd))==0)
continue;
else{
//here am going to recv() data from server
printf("I am child and parsing\n"); //testing if its in background -i would like it not to print to stdout (run in background)
}
}
//rest of the program down here
printf("Why isnt it printing to stdout ??\n");
孫を使うべきですか?(ダブルフォーク?)または...?
前もって感謝します