linux下/var/run目录下.pid文件的作用
1.pid文件的内容
用cat命令查看,可以看到内容只有一行,记录了该进程的ID
2.pid文件的作用
防止启动多个进程副本
3.pid文件的原理
进程运行后会给.pid文件加一个文件锁,只有获得该锁的进程才有写入权限(F_WRLCK),把自身的pid写入该文件中。
其他试图获得该锁的进程会自动退出。
代码示例如下:
lock.l_type=F_WRLCK;
lock.l_whence=SEEK_SET; if(fcntl(fs,F_SETLK,&lock)<){
//锁定不成功,退出
}
sprintf(buf,"%d\n",(int)pid);
pidsize=strlen(buf);
if)(tmp=write(fs,buf,pidsize))!=(int)pidsize){
//写入不成功,退出
}
4.注意事项
1)进程退出,该进程加的锁自动失效
2)进程关闭了该文件描述符,加的锁失效
3)锁的状态不会被子进程继承,进程关闭则锁失效,不管子进程是否在运行
linux下/var/run目录下.pid文件的作用的更多相关文章
- linux系统/var/log目录下的信息详解
一./var目录 /var 所有服务的登录的文件或错误信息文件(LOG FILES)都在/var/log下,此外,一些数据库如MySQL则在/var/lib下,还有,用户未读的邮件的默认存放地点为/v ...
- nginx: [emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)
测试服务器 问题描述 [root@g-s-- nginx]# /usr/sbin/nginx -c /etc/nginx/nginx.conf open() : No such file or dir ...
- 位于/var/log目录下的20个Linux日志文件
位于/var/log目录下的20个Linux日志文件[译] from:http://buptguo.com/2014/01/16/linux-var-log-files/ 原文地址:20 Linux ...
- linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- Linux查找和替换目录下所有文件中字符串(转载)
转自:http://rubyer.me/blog/1613/ 单个文件中查找替换很简单,就不说了.文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结. 查找文件夹 ...
- 查看 /var/log目录下文件个数 命令tree 、cut
查看 /var/log目录下文件个数 方法1. [root@oldboy learn_shell]# tree -L 1 /var/log/ |tail -1 5 directories, 42 fi ...
- Linux/Unix下pid文件的作用
主要有三点: (1) pid文件的内容:pid文件为文本文件,内容只有一行, 记录了该进程的ID. 用cat命令可以看到. (2) pid文件的作用:防止进程启动多个副本.只有获得pid文件(固定路径 ...
- Linux编译Windows共享目录下代码
Linux编译Windows共享目录下代码(金庆的专栏)万神服务器代码是跨平台的.平时策划在Windows上开自己的服务器测试,测试和发布服务器为Linux.开发时,先在Windows上编译测试,再到 ...
- linux下递归列出目录下的所有文件名(不包括目录)
1.linux下递归列出目录下的所有文件名(不包括目录) ls -lR |grep -v ^d|awk '{print $9}'2.linux下递归列出目录下的所有文件名(不包括目录),并且去掉空行 ...
随机推荐
- AtCoder Grand Contest 003
AtCoder Grand Contest 003 A - Wanna go back home 翻译 告诉你一个人每天向哪个方向走,你可以自定义他每天走的距离,问它能否在最后一天结束之后回到起点. ...
- 【BZOJ2423】最长公共子序列(动态规划)
[BZOJ2423]最长公共子序列(动态规划) 题面 BZOJ 洛谷 题解 今天考试的时候,神仙出题人\(fdf\)把这道题目作为一个二合一出了出来,我除了orz还是只会orz. 对于如何\(O(n^ ...
- 【BZOJ1914】数三角形(组合数,极角排序)
[BZOJ1914]数三角形(组合数,极角排序) 题面 BZOJ权限题 良心洛谷 题解 这种姿势很吼啊,表示计算几何啥的一窍不通来着. 题目就是这样,正难则反,所以我们不考虑过原点的三角形, 反过来, ...
- 【cf859E】Desk Disorder
Portal --> cf859E Solution 我们可以将每一个人看成一条边,将位置看成点,然后一个人在新的方案中可以选择的位置就是这条边连接的两个点,然后我们就得到了一个图 注 ...
- Java入门:基础算法之检查奇偶性
本程序检查一个数是奇数还是偶数. import java.util.Scanner; class CheckEvenOdd { public static void main(String args[ ...
- Macvlan技术
参考博客:https://blog.csdn.net/dog250/article/details/45788279 一.MACVLAN虚拟网卡技术 MACVLAN技术可谓是提出一种将一块以太网卡虚拟 ...
- numpy/arrayobject.h”: No such file or directory
import numpyimport pyximportpyximport.install(setup_args={"script_args":["--compiler= ...
- java基础-回调函数(callback)
java基础-回调函数(callback) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数 ...
- css实现0.5像素的边框
公司的设计师在做设计图的时候都是以iphone6(宽为750物理像素)为基准进行设计的.iphone6的设备像素比(即css像素与物理像素的比例)是2,所以设计师在设计图画了边框为1px的box的时候 ...
- Git之用户凭证
由于 Git 和 Github 交互操作可能会很频繁,为了防止每次操作重复输入用户名和密码,Git 提供了两种解决方法: