zoukankan      html  css  js  c++  java
  • kill发送信号(转载)

    kill和killall:向进程发送信号


    简介
    在运行linux程序时,当遇到需要结束某一特定进程的情形,kill和killall命令便成为了首选.它们本质上都是通过向进程发送信号来操纵进程的行为的.

    安装
    在centos7上,kill命令已系统自带,而killall命令在minimal版本下则需事先安装psmisc软件包才能使用,此软件包还附带fuser,pstree等命令(注:这3个命令都用于管理/proc目录)

    使用
    kill
    ]# kill -l//列出所有信号
    1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
    6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
    11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
    16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
    21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
    26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
    31) SIGSYS
    1
    2
    3
    4
    5
    6
    7
    8
    其中常用的信号有2号中断信号,9号杀死信号,15号杀死信号(gentle)

    ]# ps aux|grep nginx
    root 12367 0.0 0.2 122916 2116 ? Ss 17:20 0:00 nginx: master process /usr/sbin/nginx
    nginx 12368 0.0 0.3 123380 3144 ? S 17:20 0:00 nginx: worker process
    nginx 12369 0.0 0.3 123380 3140 ? S 17:20 0:00 nginx: worker process
    root 12371 0.0 0.0 112664 972 pts/1 S+ 17:20 0:00 grep --color=auto nginx
    ]# kill -9 12367 12368 12369
    1
    2
    3
    4
    5
    6
    强行结束所有nginx进程.kill命令往往需配合ps命令使用以便知道进程pid
    - killall

    ]# killall -9 nginx
    1
    killall命令依据进程的名称发送信号,因此不需要事先使用ps命令查看pid,可以认为是kill命令的增强版.此外,它还可以依据用户名,正则表达式等多种方式来限定进程

    补充
    kill和killall命令除了能发送既有的信号意外,还能发送特殊的0信号.该信号不对进程做任何干预,仅仅是确定该进程是否存在而已.因此往往被用于集群服务中确认某一服务是否正常运行

    ]# killall -0 nginx
    ]# echo $?//若返回0,则nginx进程正常运行,若返回1,则nginx服务已停止
    ————————————————

  • 相关阅读:
    Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解
    大型网站系统架构技术原理透析
    大中型网站架构探秘
    大型网站架构不得不考虑的10个问题
    (推荐)高并发高流量网站架构详解
    可扩展、高可用、负载均衡网站架构设计方案
    nginx内置常用变量
    Linux下nginx支持.htaccess文件实现伪静态的方法!
    扩展js,实现c#中的string.format方便拼接字符串
    Winform退出运行后,删除运行目录(批处理方法)
  • 原文地址:https://www.cnblogs.com/xiaofeng666/p/12582913.html
Copyright © 2011-2022 走看看