linux pid 生成文件,linux/unix下 pid文件作用浅析

#include 函数定义int fcntl(int fd, int cmd, struct flock *lock);

函数解释fd:文件描写符

设置的文件描写符,参数cmd代表欲垄断的号召

F_DUPFD

复制参数fd的文件描写符,厉行获胜则归来新复制的文件描写符,

F_GETFD

获得close-on-exec符号,若些符号的FD_CLOEXEC位为0,代表在调用

exec()相干函数时文件将不会关闭

F_SETFD 设置close-on-exec符号,该符号以参数arg的 FD_CLOEXEC位定夺

F_GETFL获得open()设置的符号

F_SETFL改换open()设置的符号

F_GETLK获得文件锁定的事态,依据lock的描写,定夺是否上文件锁

F_SETLK设置文件锁定的事态,此刻flcok,构造的l_tpye值定然是F_RDLCK、F_WRLCK或F_UNLCK,

万一无法发生锁定,则归来-1

F_SETLKW 是F_SETLK的阻塞版本,在无法获得锁时会进去睡眠事态,万一能够获得锁可能捉拿到信号则归来

参数lock指针为flock构造指针定义如下

struct flock {

...

short l_typejngaoy.com;

short l_whence;

off_t l_start; 锁定区域的开关位置

off_t l_len; 锁定区域的大小

pid_t l_pid; 锁定动作的历程

...

};

1_type有三种事态:

F_RDLCK读取锁(分享锁)

F_WRLCK写入锁(排斥锁)

F_UNLCK解锁

l_whence也有三种措施

SEEK_SET以文件开始为锁定的起始位置

SEEK_CUR以现在文件读写位置为锁定的起始位置

SEEK_END以文件尾为锁定的起始位置

归来值 获胜则归来0,若有讹谬则归来-1

l_len:加锁区的长度

l_pid:具有阻塞目前历程的锁,其持有历程的历程号储藏在l_pid中,由F_GETLK归来

等闲是将l_start设置为0,l_whence设置为SEEK_SET,l_len设置为0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值