Linux/Unix下pid文件的作用

主要有三点:

(1) pid文件的内容:pid文件为文本文件,内容只有一行, 记录了该进程的ID。

用cat命令可以看到。

(2) pid文件的作用:防止进程启动多个副本。只有获得pid文件(固定路径固定文件名)写入权限(F_WRLCK)的进程才能正常启动并把自身的PID写入该文件中。其它同一个程序的多余进程则自动退出。

(3) 编程技巧:

调用fcntl设置pid文件的锁定F_SETLK状态,其中锁定的标志位F_WRLCK。

如果成功锁定,则写入进程当前PID,进程继续往下执行。

如果锁定不成功,说明已经有同样的进程在运行了,当前进程结束退出。

Linux/Unix下pid文件的作用

时间: 2024-10-13 20:25:34

Linux/Unix下pid文件的作用的相关文章

Linux/Unix下pid文件作用浅析

转载:http://blog.csdn.net/changli_90/article/details/8911191 在Linux系统的目录/var/run下面一般我们都会看到很多的*.pid文件.而且往往新安装的程序在运行后也会在/var/run目录下面产生自己的pid文件.那么这些pid文件有什么作用呢?它的内容又是什么呢? (1) pid文件的内容:pid文件为文本文件,内容只有一行, 记录了该进程的ID. 用cat命令可以看到. (2) pid文件的作用:防止进程启动多个副本.只有获得p

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)<0){ //锁定不成功,退出 } spr

linux目录下各文件夹作用

??作为一个程序员,我们难免会接触到linux系统,特别是后台程序员,因为现在项目的部署环境基本都是在linux系统上进行的,所以了解linux系统是十分重要的,虽然我接触了linux系统已经有一段时间了,但是我基本知识完成了一些部署,并没有很深入地了解它,所以从现在开始,我们就一起来学习一下linux系统,推荐看<鸟哥的Linux私房菜-基础学习篇>这本书,可以了解到很多关于linux的知识,我平时使用过centos系统以及ubuntu,centos是部署在阿里云上的服务器,ubuntu是在

linux根目录下各文件的作用

各文件详列: /bin 存放常用命令的目录(二进制可执行命令) /dev 设备特殊文件 /etc 存放配置相关的文件(系统管理和配置文件) /etc/rc.d 启动的配置文件和脚本 /home 存放普通用户相关文件的目录(用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示) /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /sbin 系统管理命令,这里存放的是系统管理员使用的管理程序 /tmp 公用的临时文件存储点 /r

linux根目录下重要文件和作用

根目录下主要目录 bin -> usr/bin binary 二进制 sbin -> usr/sbin 管理员才可以执行其中的命令 l: 链接文件 存放可执行文件 echo $PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/nautilus/.local/bin:/home/nautilus/bin 终端敲入命令的时候,操作系统去哪些目录去找这些可执行文件 环境变量 : 以键值对形式存在 HISTS

Linux系统下pid与pid文件及Hadoop更改pid文件存储位置

1.认识pid: PID全称是Process Identification.PID是进程的代号,每个进程有唯一的PID编号.它是进程运行时系统随机分配的,并不代表专门的进程.在运行时PID是不会改变标识符的,但是你终止程序后再运行PID标识符就会被系统回收,就可能会被继续分配给新运行的程序. 2.pid文件 pid文件的内容用cat命令查看,可以看到内容只有一行,记录了该进程的ID pid文件的作用防止启动多个进程副本 pid文件的原理进程运行后会给.pid文件加一个文件锁,只有获得该锁的进程才

linux根目录下各文件夹的作用

linux下的文件结构,看看每个文件夹都是干吗用的 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /sbin 系统管理命令,这里存放的是系统管理员使用的管理程序 /tmp 公用的临时文件存储点 /root 系统管理员的主目录(呵呵,特

linux系统下修改文件夹目录权限

linux系统下修改文件夹目录权限 文件夹权限问题 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件-文件夹权限.以主文件夹下的一个名为cc的文件夹为例. 下面一步一步介绍如何修改权限: 1.打开终端.输入su(没 Linux.Fedora.Ubuntu修改文件.文件夹权限的方法差不多.很多人开始接触Linux时都很头痛Linux的文件权限问题.这里告诉大家如何修改Linux文件

window下批处理操作:从Linux机器下拷贝文件

文件名称:test.bat set THIS_BAT_PATH=%~dp0 cd %THIS_BAT_PATH% rd /s /q %SDV_LLT_PATH% & md %SDV_LLT_PATH% 当前文件所在的路径:THIS_BAT_PATH=%~dp0 cd %THIS_BAT_PATH%进入到当前文件所在路径 删除该文件,并新建该文件:rd md call plink.exe -ssh -pw  password [email protected] cd /home/test;rm t