zoukankan      html  css  js  c++  java
  • 信号

    [信号]  

    SIGTSTP和SIGSTOP的唯一区别:

        将进程暂停是SIGTSTP的默认action,用户可以自定义一其handler,而将进程暂停是SIGSTOP的定死的action,用户不能修改。此外,二者没什么差别,都使用SIGCONT来讲进程重新激活。

    SIGKILL和SIGSTOP的区别

        SIGKILL提供给管理员杀死进程的权利, SIGSTOP提供给管理员暂停进程的权利, 所以这两个信号不能被忽略和重定义。

        Kill父进程后, 子进程的父进程号为1; 但是stop父进程后子进程的父进程号还是该父进程, 一个是杀死, 一个是暂停

     
    SIGINT : 信号被当前进程树接收到,也就是说,不仅当前进程会收到信号,它的子进程也会收到
     
    SIGTERM : 只有当前进程收到信号,子进程不会收到。如果当前进程被kill了,那么它的子进程的父进程将会是init,也就是pid为1的进程
     

    做过Linux开发的人通常遇到过一个进程不能kill掉的情况,即使使用的是kill -9方式,而一般的教课书都只说kill -9能杀死任何进程,遇到这种情况时就会感觉到很矛盾,其它这也是正常的,通常有两种情况是不能kill掉的:

    一是进程已经成为僵死进程,当它的父进程将它回收或将它的父进程kill掉即可在ps输出看不到了;
    二是进程正处在内核状态中,Linux进程运行时分内核和用户两种状态,当进程进入内核状态后,会屏蔽所有信号,包括SIGKIL,所以这个时候kill -9也变得无效了。

     
  • 相关阅读:
    html 页面打印元素被切割,元素自适应分页
    linux jupyter 安装
    == 与 equals()的区别
    多段图
    数据仓库和ODS 的并行
    Linux下对sh文件的基本操作总结
    linux tr命令详解
    数据仓库分层
    利用SQOOP将数据从数据库导入到HDFS(并行导入,增量导入)
    Etl之HiveSql调优(left join where的位置)
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3341200.html
Copyright © 2011-2022 走看看