linux C 多个进程 *** 作同一个文件的情况,求讲解各种影响以及原理.

linux C 多个进程 *** 作同一个文件的情况,求讲解各种影响以及原理.,第1张

这个应该是个同步 *** 作的问题!首先按照正常情况下,这个文件需要上锁,一个文件锁,第一个使用这个文件的进行对这个文件上锁,上了锁之后,其他进程不能对这个文件进行 *** 作,他们要等待这个锁被释放之后再可以对这个文件 *** 作!如果不对这个文件上锁的话,那么每个进程对这个文件 *** 作之后可能得不到想要的结果,唯一一种情况除外,那就是每个进程都是对这个文件进行读 *** 作!

有三个办法:

一、最直接的办法,用nohup命令,将程序挂到后台。

二、最方便的办法,用screen命令,起个虚拟终端,即使断开连接也能继续在后台跑。

三、最正常的思路,是将监听程序置为daemon,直接在后台运行,具体是监听程序启动后,fork一个子进程,将子进程setsid,然后父进程退出,实际 *** 作都放到子进程中。

当然程序里面的循环结构是肯定要的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7549747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存