zoukankan      html  css  js  c++  java
  • Linux kill 命令 以及USR1 信号解释

    kill 中的USR信号解释

    USR1亦通常被用来告知应用程序重载配置文件;例如,向Apache HTTP服务器发送一个USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改。

    POSIX兼容的平台上,SIGUSR1SIGUSR2是发送给一个进程信号,它表示了用户定义的情况。它们的符号常量头文件signal.h中定义。在不同的平台上,信号的编号可能发生变化,因此需要使用符号名称。

    kill -HUP pid 或者 killall -HUP pName:
    其中pid是进程标识,pName是进程的名称
    如果想要更改配置而不需停止并重新启动服务,可以使用上面两个命令。在对配置文件作必要的更改后,发出该命令以动态更新服务配置。
    根据约定,当你发送一个挂起信号(信号1或HUP)时,大多数服务器进程(所有常用的进程)都会进行复位操作并重新加载它们的配置文件。

    kill 命令介绍

    -l  信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
    -a  当处理当前进程时,不限制命令名和进程号的对应关系
    -p  指定kill 命令只打印相关进程的进程号,而不发送任何信号
    -s  指定发送信号
    -u  指定用户 
    注意:
    1、kill命令可以带信号号码选项,也可以不带。如果没有信号号码,kill命令就会发出终止信号(15),这个信号可以被进程捕获,使得进程在退出之前可以清理并释放资源。也可以用kill向进程发送特定的信号。例如:
    kill -2 123 它的效果等同于在前台运行PID为123的进程时按下Ctrl+C键。但是,普通用户只能使用不带signal参数的kill命令或最多使用-9信号。
    
    2、应注意,信号使进程强行终止,这常会带来一些副作用,如数据丢失或者终端无法恢复到正常状态。发送信号时必须小心,只有在万不得已时,才用kill信号(9),因为进程不能首先捕获它。
    要撤销所有的后台作业,可以输入kill 0。因为有些在后台运行的命令会启动多个进程,跟踪并找到所有要杀掉的进程的PID是件很麻烦的事。这时,使用kill 0来终止所有由当前shell启动的进程,是个有效的方法。

    说明:

    只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。 下面是常用的信号:

    HUP    1    终端断线

    INT     2    中断(同 Ctrl + C)

    QUIT    3    退出(同 Ctrl + )

    TERM   15    终止

    KILL    9    强制终止

    CONT   18    继续(与STOP相反, fg/bg命令)

    STOP    19    暂停(同 Ctrl + Z)

    实例:杀死指定用户所有进程

    命令:

    kill -9 $(ps -ef | grep peidalinux)

    kill -u peidalinux

    输出:

    [root@localhost ~]# kill -9 $(ps -ef | grep peidalinux) 

    [root@localhost ~]# kill -u peidalinux

    说明:

    方法一,过滤出hnlinux用户进程并杀死

  • 相关阅读:
    MVC4中常用的短句及配置归结(部分)
    结合EF5.0讲MVC4(四)将我们的程序改成数据库优先模式
    结合EF5.0讲MVC4(二)为先前程序添加查询及主外键关系
    【译】《Pro ASP.NET MVC4 4th Edition》第二章(一)
    XtraReport应用(1)(XtraReport From File)
    结合EF5.0讲MVC4(一)创建一个MVC4应用程序
    Scrum实际应用(一)
    结合EF5.0讲MVC4(三)为我们的程序添加过滤器
    C# LINQ详解(一)
    如何在 Windows Server 2008 上打开 SQL Server 防火墙端口
  • 原文地址:https://www.cnblogs.com/Star-Haitian/p/8981535.html
Copyright © 2011-2022 走看看