nohup命令及其输出文件

今天在linux上部署wdt程序,在SSH客户端执行./start-dishi.sh,启动成功,在关闭SSH客户端后,运行的程序也同时终止了,怎样才能保证在推出SSH客户端后程序能一直执行呢?通过网上查找资料,发现需要使用nohup命令。
完美解决方案:nohup ./start-dishi.sh >output 2>&1 &
现对上面的命令进行下解释

用途:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

操作系统中有三个常用的流:
  0:标准输入流 stdin
  1:标准输出流 stdout
  2:标准错误流 stderr
  一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。

nohup ./start-dishi.sh >output 2>&1 &
解释:

  1. 带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);
  2. 2>&1的意思
      这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了。 至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。这就会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的.
      这就是为什么有人会写成: nohup ./command.sh >output 2>output出错的原因了
    ==================================================================================
    最后谈一下/dev/null文件的作用,这是一个无底洞,任何东西都可以定向到这里,但是却无法打开。 所以一般很大的stdou和stderr当你不关心的时候可以利用stdout和stderr定向到这里>./command.sh >/dev/null 2>&1

linux不挂断运行python文件相关推荐

  1. 在Linux上编写并运行Python文件

    一.编写.py文件 1.检测python环境 python 建立python文件 vim test.py 输入python代码 print("Hello world!\n") PS ...

  2. Linux 使用nohup命令运行python文件

    有时我们想要运行的python程序不挂起,即退出终端,程序仍然可以执行.同时,希望可以将日志输出至指定文件,可使用nohup + 重定向实现. nohup python -u main.py > ...

  3. Linux运行python文件出现以下错误:terminate called after throwing an instance of ‘std::runtime_error‘

    Linux运行python文件出现以下错误:terminate called after throwing an instance of 'std::runtime_error'

  4. python打卡以及Linux自动运行python文件

    python打卡以及Linux自动运行python文件 前因 分析 python代码 实现linux自动运行python文件 了解crond 开机自启设置 定时运行python文件设置 crond踩坑 ...

  5. Linux中nohup不挂断运行命令

    nohup就是不挂起的意思( n ohang up) 该命令的一般形式为:nohup command & 语法:nohup Command [ Arg - ] [ & ] 描述:noh ...

  6. java 不退出_Java项目不挂断运行,即当账户退出或终端关闭时,程序仍然运行,并附上执行脚本...

    把打包好的jar包上传服务器以后,直接运行java -jar+文件名 命令即可以完成启动. 若需要在公网上如何不挂断开启程序,可以使用nohup java -jar +文件名 &命令,其中no ...

  7. 在linux云服务器上运行Jar文件

    在linux服务器上运行Jar文件时通常的方法是: $ java -jar test.jar 这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务,有没有办法让Jar在后台 ...

  8. Java项目不挂断运行,运行jar包

    1.运行java项目 打开cmd运行窗口 找到jar包所在的路径E:\mhs   输入cd E:\mhs 运行jar包     输入命令    java -jar mhs.jar 但是关闭cmd窗口, ...

  9. shell运行python文件_在python shell中运行python文件的实现

    在python shell中运行python文件的实现 最近在学习flask开发,写好程序后需要在python shell中运行测试功能.专门抽时间研究了下,总结以防止以后遗忘. 这是测试文件的结构, ...

最新文章

  1. (10)Spring Boot修改端口号【从零开始学Spring Boot】
  2. jupyter notebook 内核好像挂掉了
  3. python绘制雷达图代码实例-python处理excel绘制雷达图
  4. java程序a-z_用Java写一个程序:使其输出从A-Z的排序字母
  5. U盘安装LINUX系统,拔除U盘后无法引导系统
  6. 信号量函数 semget() semop() semctl()
  7. 产品部门四大角色——PM/PD/UE/UI
  8. ipv6怎么进行邻居学习_事实证明,我的邻居也想学习编码。 他们只是没有意识到这是可能的。
  9. 《专家速成手册》 做专家只需记住6点
  10. Java常见bean mapper的性能及原理分析
  11. HTML知识积累及实践(一)- 标签样式
  12. js打印(控件)及多种方式
  13. Java设计模式(Design Patterns In Java)读书摘要——第1章 绪论
  14. 服务器Linux系统下常见的软件包有哪些
  15. phpstudy 运行PHP项目
  16. 基于全数字摄影测量工作站制作DOM简介
  17. 密西西比河谷州立大学:Android应用程序开发(一)
  18. 解决vscode出现“无法写入用户设置。请打开用户设置并清除错误或警告,然后重试。”问题
  19. FMCW雷达距离多普勒(RDM)处理方法中距离分辨率和速度分辨率的推导
  20. Summary of Statistics for Interview

热门文章

  1. nginx加载html目录下图片,nginx配置访问图片路径以及html静态页面的调取方法
  2. qsort与sort
  3. linux 特定用户ssh,linux - 如何在登录后将SSH用户限制为一组预定义的命令?
  4. opencv 二值化_Python-OpenCV获取图像轮廓的图像处理方法
  5. 智慧交通day01-算法库03:cv.dnn
  6. ubuntu18.04安装python3_在 Ubuntu 18.04 上安装 Python 3.7
  7. JS面向对象——原型式继承函数、寄生式继承函数、寄生组合式继承
  8. LeetCode 1984. 学生分数的最小差值
  9. Paddle 使用预训练模型 实现快递单信息抽取
  10. 03.结构化机器学习项目 W1.机器学习策略(1)