linux write 如何让一个进程写的内容不被覆盖,Linux C/C++ 多进程同时写一个文件(三)...

本文是这《Linux C/C++多进程同时写一个文件》系列文章的第三篇,上一篇文章演示了两个亲缘关系的进程(父子进程)同时写一个文件的情形,并得出了数据只会错乱但不会覆盖的结论。这篇文章主要是在第一篇文章的基础上,加上上篇文章的分析,更深下一步地探索两个非亲缘关系的进程同时写一个文件的问题。

1 查看要写入的文件的inode信息

使用stat LINUX_MUTIL_PROCESS_WRITE_2命令查看要写入的文件inode信息,可以看到它的值为67728087。

3ad9298ad40003ed9af39bf2dee4f1f9.png

2 示例程序

下面这个linux_process_fork1_7.c程序很简单,主要是把p_buf指向的静态区数据写入到文件LINUX_MUTIL_PROCESS_WRITE中。

为了测试多进程同时写文件的情景,需要复制linux_process_fork1_7.c程序为linux_process_fork1_8.c,同时把p_buf指向改成abcdefghi,然后分别编译成两个不同的可执行文件:linux_process_fork1_7 和 linux_process_fork1_8。

/**

* @FileName linux_process_fork1_7.c

* @Describe Linux C/C++多进程同时写一个文件(三)

* @Author vfhky 2017-10-29 22:23 https://typecodes.com/cseries/linuxm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值