当前位置: 技术问答>linux和unix
linux下的进程间通信
来源: 互联网 发布时间:2015-07-05
本文导语: 有A,B两个进程要对一个文件test.txt进行写操作。 应该怎样让A,B互斥的对test.txt写才安全? 谢谢! | 用文件锁,man lockf NAME lockf - apply, test or remove a POSIX lock on an open file SYNOPSIS ...
有A,B两个进程要对一个文件test.txt进行写操作。
应该怎样让A,B互斥的对test.txt写才安全?
谢谢!
应该怎样让A,B互斥的对test.txt写才安全?
谢谢!
|
用文件锁,man lockf
NAME
lockf - apply, test or remove a POSIX lock on an open file
SYNOPSIS
#include
int lockf(int fd, int cmd, off_t len);
NAME
lockf - apply, test or remove a POSIX lock on an open file
SYNOPSIS
#include
int lockf(int fd, int cmd, off_t len);
|
对.
或将文件作为临界资源使用,定义一个变量对操作文件的进程计数.为0时才可以操作,否则等待.
或将文件作为临界资源使用,定义一个变量对操作文件的进程计数.为0时才可以操作,否则等待.
|
注意,计数的变量必须保存在信号量或共享内存中.
|
用lockf,方便
|
LINUX下那几种进程通信都可以用, 比如说你设一个互斥量, 信号量,之类的都行,
文件锁也可以,他们的原理都是一个的,