Linux 使用pid文件结束nginx

nginx的结束重启一般是通过下面命令来实现的:

kill -QUIT 26000

其中26000是nginx的主进程号。

每次都需要通过ps命令来查询nginx的主进程号,非常麻烦。 在《实战nginx:取代Apache的高性能Web服务器》一书中提到了使用pid文件的方法,不巧的是给的命令漏了些东西,这里给出完整的指令。

什么是pid文件

pid文件就是一个纯文本文件,里面记录的是进程的pid号。

下面是一个pid文件的内容::

26000

nginx的默认pid文件

nginx使用了pid文件来记录master process的pid号,如果编译时没有指定,那它的路径就是:

<prefix>/logg/nginx.pid

其中<prefix>是nginx的安装路径。

如果你想修改默认的pid文件路径,可以在编译时加入配置。参数如下:

./configure --pid-path=/data/test/ngx.pid

指定后,默认的pid文件路径就更改为:

/data/test/ngx.pid

如果指定只是路径,没有pid的文件名,那么pid的文件名还是nginx.pid

通过配置文件修改pid

除了使用默认值和通过编译时修改外,还可以通过在nginx的配置文件中修改。如下:

pid /var/run/nginx.pid;

这里修改的值只对使用该配置文件的nginx有效。

用PID文件停止Nginx

假设pid文件路径为/data/logs/nginx.pid

kill -QUIT ‘cat /data/run/nginx.pid‘

用pid文件重新加载配置文件

kill -HUP ‘cat /data/run/nginx.pid‘
时间: 2025-01-11 21:37:28

Linux 使用pid文件结束nginx的相关文章

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文件作用浅析

转载: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

Nginx在CentOS中丢失nginx.pid文件的处理

在修改了Nginx配置文件(nginx.conf)后,使用"nginx -s reload"这个命令重新加载配置以使配置生效.这时有可能遇到nginx -s reload这个命令不能正常执行的情况,此时会给予提示未找到nginx.pid. 解决办法: 1.执行 nginx 命令: 2.执行 nginx -s reload 命令. 如果问题还不能解决,尝试如下操作: 1.强制杀掉nginx进程,执行: pkill -9 nginx 2.重启nginx.切换到nginx所在的目录,执行:

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

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

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

CentOS 6.5玩转自制Linux、远程登录及Nginx安装测试

前言    系统定制在前面的博文中我们就有谈到过了,不过那个裁减制作有简单了点,只是能让系统跑起来而,没有太多的功能,也没的用户登录入口,而这里我们将详细 和深入的来谈谈Linux系统的详细定制过程和实现用户例如.远程登录和Nginx安装过程.一步一步从头开始定制属于我们自己的系统. 正文    首先我们先来简单的介绍一下我们这里定制属于自己的Linux系统的基本元素.而其实一些相关的信息也可以参考我前面写过的博文:总结之:CentOS 6.4系统裁减详解及装载网卡步骤 一个定制的linux内核

linux学习笔记——搭建基于nginx的web服务器、多核配置、nginx配置参数

############ 认识nginx #############Nginx:(发音同 engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用.  其优点是轻量级(占有内存少),高并发(并发能力强),事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用ngi

Linux(ubuntu12.04)下搭建Nginx+Tomcat

首先是安装包的准备nginx7.9:下载nginx  |tomcat7.0下载tomcat  |JDk下载JDK7.0 Nginx的优点太多太多,比apache好很多,更加稳定,功能更加强悍,越来越多的开发人员选择使用nginx来替代apache!! 具体查看这篇文章http://blog.csdn.net/a454211787/article/details/22494485 首先,我们配置jdk,下载好jdk之后,我的默认实在download下面,然后使用linux命令解压 $tar zxv

Linux进程创建和结束

在Linux中,进程的创建由系统调用fork和vfork完成.它们生成一个子进程并且子进程是父进程的一个复制品. Fork系统调用对应的kernel函数是sys_fork,此函数简单的调用kernel函数do_fork.一个简化版的do_fork执行如下: (1)alloc_pid().给新的进程分配一个新的pid,即进程号 (2)copy_process()此函数会做fork的大部分事情,它主要完成讲父进程的运行环境复制到新的子进程,比如信号处理.文件描述符和进程的代码数据等. (3)wake