zoukankan      html  css  js  c++  java
  • nohup和&的区别

    &是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出


    那么,我们可以巧妙的吧他们结合起来用就是
    nohup COMMAND &
    这样就能使命令永久的在后台执行
    例如:

    1. sh test.sh &  
    将sh test.sh任务放到后台 ,即使关闭xshell退出当前session依然继续运行,但标准输出和标准错误信息会丢失
    2. nohup sh test.sh  
    将sh test.sh任务放到后台,关闭标准输入,前台不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。
    3. nohup sh test.sh  & 
    将sh test.sh任务放到后台,但是依然可以使用标准输入,前台能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。

    使用&后台运行程序:

    • 结果会输出到终端

    • 使用Ctrl + C发送SIGINT信号,程序免疫

    • 关闭session发送SIGHUP信号,程序关闭

    使用nohup运行程序:

    • 结果默认会输出到nohup.out

    • 使用Ctrl + C发送SIGINT信号,程序关闭

    • 关闭session发送SIGHUP信号,程序免疫

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

    • 同时免疫SIGINT和SIGHUP信号

    同时,还有一个最佳实践:

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

  • 相关阅读:
    LG P3975 [TJOI2015]弦论
    LG P5056 【模板】插头dp
    LG P5279 [ZJOI2019]麻将
    BZOJ3864 Hero meet devil
    [NOIP模拟]相遇/行程的交集
    LG P3196 [HNOI2008]神奇的国度
    LG P3312 [SDOI2014]数表
    python pip 安装包的时候出现的各种错误。一句话解决。
    CTF入门
    Pythoncharm安装
  • 原文地址:https://www.cnblogs.com/timssd/p/9634693.html
Copyright © 2011-2022 走看看