zoukankan      html  css  js  c++  java
  • linux USR1亦通常被用来告知应用程序重载配置文件

    linux kill 命令 以及 USR1 信号 解释
    原创 2016年03月16日 16:48:27 标签:linux kill -USR1 5325
    最近 在做 服务器搭建的一些工作,其中 用到了 日志 转存 的部分。 
    日志转存 是这么写的
    
    /home/server/souledge/log/game.log
    {
        missingok
        copytruncate
        size 1
        sharedscripts
        postrotate
            echo "start--------------"
            [ -f /var/run/nginx.pid ] &&  kill -USR1 `cat /var/run/nginx.pid`
            mv /home/server/souledge/log/game.log.1 /home/server/souledge/log/game.`date -d "1 hour ago" +%Y%m%d%H`
            echo "end-----------------"
        endscript
    }
    
    对于  [ -f /var/run/nginx.pid ] &&  kill -USR1 `cat /var/run/nginx.pid` 产生了 兴趣,
    
    1.[ -f ]  解释 [ 是 linux 命令, 不信, which [ 试试;跟 test 命令 含义 一样 ;  [ -f xxx] 是 测试 文件 是否 存在
    2. 系统将 进程xx 的 进程号 存储 在 /var/run/xx.pid 文件下 ;所以 `cat /var/run/nginx.pid` 是为了 取到 nginx 的进程号
    3.kill -USR1 看下文
    
    
    USR1信号 解释
    摘自: http://www.xuebuyuan.com/323422.html
    
    USR1亦通常被用来告知应用程序重载配置文件;例如,向Apache HTTP服务器发送一个USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改。
    以上摘自wiki:
    http://zh.wikipedia.org/wiki/SIGUSR1%E5%92%8CSIGUSR2
    呃,近日发现还有USR2,貌似这个USR1和2都可以用户自定义的,同样摘自上面的wiki:
    在POSIX兼容的平台上,SIGUSR1和SIGUSR2是发送给一个进程的信号,它表示了用户定义的情况。它们的符号常量在头文件signal.h中定义。在不同的平台上,信号的编号可能发生变化,因此需要使用符号名称。
     
    kill -HUP pid 或者 killall -HUP pName:
    其中pid是进程标识,pName是进程的名称
    如果想要更改配置而不需停止并重新启动服务,可以使用上面两个命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。
    根据约定,当你发送一个挂起信号(信号1或HUP)时,大多数服务器进程(所有常用的进程)都会进行复位操作并重新加载它们的配置文件。
  • 相关阅读:
    单例模式
    HashSet、LinkedHashSet、SortedSet、TreeSet
    ArrayList、LinkedList、CopyOnWriteArrayList
    HashMap、Hashtable、LinkedHashMap
    andrew ng machine learning week8 非监督学习
    andrew ng machine learning week7 支持向量机
    andrew ng machine learning week6 机器学习算法理论
    andrew ng machine learning week5 神经网络
    andrew ng machine learning week4 神经网络
    vue组件监听属性变化watch方法报[Vue warn]: Method "watch" has type "object" in the component definition. Did you reference the function correctly?
  • 原文地址:https://www.cnblogs.com/gaoyuechen/p/8109205.html
Copyright © 2011-2022 走看看