zoukankan      html  css  js  c++  java
  • Nohup 与 & 的区别

    SIGHUP 与 SIGINT

    1) SIGHUP
    本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一 Session 内的各个作业, 这时它们与控制终端不再关联
    登录 Linux 时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都属于这个 Session。当用户退出Linux 登录时,前台进程组和后台有对终端输出的进程将会收到 SIGHUP 信号; 这个信号的默认操作为终止进程因此前台进程组和后台有终端输出的进程就会中止。不过可以捕获这个信号,比如 wget 能捕获 SIGHUP 信号,并忽略它,这样就算退出了 Linux 登录,wget 也能继续下载 。
    此外,对于与终端脱离关系的守护进程,这个信号用于通知它重新读取配置文件。
    2) SIGINT
    程序终止(Interrupt)信号, 在用户键入 INTR 字符(通常是 Ctrl-C)时发出,用于通知前台进程组终止进程

    &(免疫 SIGHUP)

    使用 & 后台运行程序:

    ①. — 结果会输出到终端

    ②. — 使用 Ctrl + C 发送 SIGINT 信号,程序免疫

    ③. — 关闭 Session 发送 SIGHUP 信号,程序关闭

    Nohup(免疫 SIGINT)

    使用 Nohup 运行程序:

    ①. — 结果默认会输出到 nohup.out

    ②. — 使用 Ctrl + C 发送 SIGINT 信号,程序关闭

    ③. — 关闭 Session 发送 SIGHUP 信号,程序免疫

    最佳实践

    平日线上经常使用 Nohup 和 & 配合来启动程序:

    同时免疫 SIGINT 和 SIGHUP 信号

    PS :不要将信息输出到终端标准输出,标准错误输出,而要用日志组件将信息记录到日志里

  • 相关阅读:
    sql子查询
    java中entity和object的区别
    eclipse F3可以查询某个方法的具体定义
    SQL语句的MINUS,INTERSECT和UNION ALL
    jquery 循环获取checkBox的值,以及对复选框选中,取消,操作按钮
    jQuery 函数位于一个 document ready 函数中
    <script>的用法
    jquery ui-----弹出窗口 dialog
    util包就是用来放一些公用方法和数据结构的
    BigDecimal
  • 原文地址:https://www.cnblogs.com/zzzwqh/p/13977053.html
Copyright © 2011-2022 走看看