Linux_nohup …… & 命令

Linux nohup …… &命令

使用场景:正常运行一个程序,想在后台运行并且在退出Linux账户的时候程序不会结束,该怎么办了? 这里就要用到nohup …… & 命令,这样程序会在后台中运行,即使退出账号了,程序也会接着运行。
命令使用:
  • 格式: nohup 运行程序的命令 > 程序输出的文件 &

  • 案例:nohup python3 demo.py > demo.log &

  • 说明:在后台运行demo.py 程序,程序产生的输出输出到demo.log 文件中

  • 注意:

    • 这里输出不会立即执行,会做缓冲,所以在日志中不能马上看到打印结果,不过可以用 -u 参数不做缓冲立即输出结果 nohup python3 demo.py -u > demo.log &
    • nohup python3 demo.py > demo.log & 产生的日志在下次执行同样的命令时会将日志清空,想要追加输出可以使用 nohup python3 demo.py >> demo.log & 多加一个箭头,这样上次的输出内容就不会被删掉了,下面会具体讲到
  • 参数:

    • nohup: 不挂断地运行命令, 注意并没有后台运行的功能 , 可以使命令永久的执行下去,和用户终端没有关系 ,ctrl + c 可以结束掉 但是关掉客户端不可以

    • 单 > : 覆盖式重定向 双 >>: 追加式重定向
      -在这里插入图片描述

    • -u :输出不做缓冲,立即输出

    • & : 结尾的&表示后台运行,ctrl + c 不可以结束掉任务,要用kill 但是关掉客户端可以

    • 基于nohup 和 & 的特性,一般这两个会结合起来使用

  • 扩展:

    • 2>&1, 2是标准错误输出, 1是标准输出,这里的&表示引用,> 表示将标准错误重定向到标准输出,命令结果是,标准错误输出和标准输出指向同一个文件

    • 标准输出(standard output)和 标准错误(standard error),默认是连接至屏幕; 标准输入(standard input)默认是连接至键盘;

    • 文件流包含三种, 即"输入, 输出, 错误", 对应"0, 1, 2";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值