USR1亦一般被用来告知应用程序重载配置文件;例如,向Apache HTTP服务器发送一个USR1信号将致使如下步骤的发生:中止接受新的链接,等待当前链接中止,从新载入配置文件,从新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改。php
在POSIX兼容的平台上,SIGUSR1和SIGUSR2是发送给一个进程的信号,它表示了用户定义的状况。它们的符号常量在头文件signal.h中定义。在不一样的平台上,信号的编号可能发生变化,所以须要使用符号名称。linux
kill -HUP pid 或者 killall -HUP pName:
其中pid是进程标识,pName是进程的名称
若是想要更改配置而不需中止并从新启动服务,可使用上面两个命令。在对配置文件做必要的更改后,发出该命令以动态更新服务配置。
根据约定,当你发送一个挂起信号(信号1或HUP)时,大多数服务器进程(全部经常使用的进程)都会进行复位操做并从新加载它们的配置文件。shell
-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)才能够无条件终止进程,其余信号进程都有权利忽略。 下面是经常使用的信号:spa
HUP 1 终端断线日志
INT 2 中断(同 Ctrl + C)code
QUIT 3 退出(同 Ctrl + \)blog
TERM 15 终止进程
KILL 9 强制终止ip
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用户进程并杀死