質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

3回答

1241閲覧

forkを使ったプログラムに関して

ccccididid

総合スコア23

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2016/12/03 03:59

forkを使って親と子で情報を伝達するプログラムを作成しています
親と子で直接情報をやりとりするのではなく親と子の間にファイルを用意してそれを介して通信しようと考えています

そこで質問があります
親がファイルに書き込みをした後、子がファイルに書き込みをした後のそれぞれから読み込みたいのですがその際親が書き込みを行ったか、子がファイルに書き込みを行ったかを確認してから読み込みたいのですが書き込みを確認する方法はなにかあるでしょうか

質問内容が不足していたらすみません

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

こんにちは。

内容的にはファイルではなくPipeを使った方が良いような印象です。
しかし、Pipeではなくファイルを使うべき要件があるのでしたら、「書き込みを行った」をSignalで相手プロセスへ伝達しても良いと思います。

投稿2016/12/03 06:58

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

少しやりたいことがわからない点があるのですが、
ファイルよりはNamedPipeを使ったほうが簡単だと思います。

ファイルを使いたい場合はロックファイルを作成するのが良いと思います。

投稿2016/12/03 04:17

MasashiKimura

総合スコア1150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

forkしてしまうと、何らかの方法で子のファイルへの書込みが成功したかを親で判定をする必要があります。
方法は、子に予約番号を渡しで最終行に書き込ませるとか、書込み後にrenameさせるとか、終了ファイルを
作成するとか、ファイルの送受信の様な仕組みが必要になるかと考えます。

投稿2016/12/03 05:06

A.Ichi

総合スコア4070

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問