nohup 用法总结

  • 代码示例
  • nohup指令
  • 2>&1 错误内容重定向到标准输出
  • & 后台运行
  • 若不指定输出文件名,默认会在当前目录生成nphup.out文件
    • 可能存在的问题
    • 原因
  • Reference

代码示例

运行python程序 – my.py脚本

nohup python my.py >> my.log 2>&1 &
# 或者
nohup python my.py >> nohup.out 2>&1 &
# 或者
nohup python my.py &  # 这种写法和上面第二种写法等价

shell脚本类似 – tomcat.sh 并指定存放文件目录

nohup tomcat.sh > /dev/null 2>&1 &

nohup指令

  • nohup指不断地运行,是no hang up的缩写,指不间断,不挂断。运行一个进程的时候,不想让其在你退出账号时关闭,即可用nohup。

  • nohup在不规定的情况下,所以输出内容会到nohup.out中

2>&1 错误内容重定向到标准输出

  • 0 表示stdin标准输入,用户键盘输入的内容
    1 表示stdout标准输出,输出到显示屏的内容
    2 表示stderr标准错误,报错内容
  • 2>&1 是一个整体,> 左右不能有空格,即将错误内容重定向输入到标准输出中去。

& 后台运行

  • &为后台运行
  • 第一条代码,以python环境不间断的运行my.py这个脚本,并且将脚本输出的内容重定向输入my.log中(>>意为追加,如果用>会让其中的内容清空)
    nohup python my.py >> my.log 2>&1 &nohup python my.py 1 >> my.log 2>&1 & 相同,只是1(标准输入)被省略了,而后面的my.log 2>&1 又将2(错误内容)输入到标准输出,然后前面的标准输出又输入到my.log中,意思错误和标准内容都会输出到my.log中,其实代码可拆成两块。即:
nohup python my.py >> my.log 2>&1 &
# 等价于下面两行的内容
nohup python my.py 1>> my.log &
nohup python my.py 2>> my.log &
  • 上面代码就是将错误和标准都输出到my.log,最初的代码只是简化了。
    而加2>&1中的&是为了区别文件1和1(标准输出),假如为2>1,那么不就成了将错误内容输出到文件1中。
  • nohup tomcat.sh > /dev/null 2>&1 & 也是一样的,将错误和标准全部丢入/dev/null 中,全部销毁。

若不指定输出文件名,默认会在当前目录生成nphup.out文件

可能存在的问题

生成了nohup.out文件,但是内容始终是空的。

原因

python的输出又缓冲,导致nohup.out并不能够马上看到输出。

-u 参数,使得python不启用缓冲。

nohup python -u my.py >> nohup.out 2>&1 &

Reference

https://blog.csdn.net/weixin_42840933/article/details/85780125
https://blog.csdn.net/qq_31821675/article/details/78246808

Python后台运行 -- nohup python xxx.py相关推荐

  1. python 后台运行

    Python 后台运行 关于Python后台运行,查找了很多资料,配合Tornado后端库来实现. 首先聊一聊Linux中,关于后台和前台的问题. 当前状态下,执行了一条阻塞型命令(apt updat ...

  2. linux使得python后台运行,linux 下后台运行python脚本

    &符号 这两天要在服务器端一直运行一个Python脚本,当然就想到了在命令后面加&符号 $ python /data/python/server.py >python.log & ...

  3. python从外部传入参数_从另一个Python脚本运行一个Python脚本,并传入参数 - python...

    我想从另一个Python脚本运行一个Python脚本.我想像使用命令行一样传递变量. 例如,我将运行我的第一个脚本,该脚本将遍历值列表(0.1.2.3),并将其传递给第二个脚本,依次为script2. ...

  4. nohup怎么更改名字_用nohup后台运行,用python 发提醒邮件

    最近在学校的n电脑上跑数据,很多时候一个run要耗费好几个小时,ssh不知道为什么连一会后会自动断开,跑到一半程序就悲剧了. 在网上找了一会 发现一个神器:nohup, 用法超级简单: nohup c ...

  5. linux系统的python能运行dll,python调用window dll和linux so例子

    #!/usr/bin/python # -*- coding: UTF-8 -*- #python dll.py import win32api # 打开记事本程序,在后台运行,即显示记事本程序的窗口 ...

  6. python解释器运行代码-Python如何运行程序

    人生苦短,我用Python. 作为一个开发人员,如何写代码是必须要知道的,代码如何运行也是有必要了解的.通过了解代码如何运行,可指导我们写出效率更高的代码.下午看了<Python学习手册> ...

  7. python如何运行一个python程序_python如何运行?第一个python小程序示范

    我们想要用python编程首先要做的就是安装一些工具,随后学会应用.那么问题来了,我们需要安装什么?python又是怎样运行的呢? 安装什么工具? 1.Python 3.6.5(我安装的,还有很多版本 ...

  8. python怎么运行代码-python如何运行代码

    python作为一种动态语言,其实是一个解释器软件包. 当Python运行脚本时,在代码开始进行处理之前,Python还会执行一些步骤.(推荐学习:Python视频教程) 第一步是编译成所谓的&quo ...

  9. linux+后台运行+nohup,Linux后台运行命令集(、fg、bg、jobs、nohup、ctrl + z)

    Linux后台运行命令集(&.fg.bg.jobs.nohup.ctrl + z) 1).& 命令或进程最后加上"&",可以把此操作放到后台执行: 2).c ...

最新文章

  1. 面试官:谈谈JWT鉴权的应用场景及使用建议?
  2. OpenCV-Python中的两种图像通道分离法
  3. 利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符
  4. curl java_如何将curl -X post转换为java
  5. JS疑惑-1(连续赋值)
  6. 微服务统一登录认证怎么做?JWT ?
  7. 速升级!SonicWall 3个已遭利用的严重0day 影响企业邮件安全设备
  8. Java jta 原理_分布式事务JTA实现Atomikos与Spring集成实践
  9. 访问共享文件夹总是提示“指定的网络名不再可用”,重启就好了
  10. linux用for循环写九九乘法表,写一个方法,用一个for循环打印九九乘法表
  11. 程序猿生存指南-51 杭城相会
  12. TFN DG15M 高抗干扰电缆故障测试仪评测
  13. STL 常用容器(1)--string
  14. win git 报错 no matching host key type found. Their offer: ssh-rsa
  15. 最简单的基于FFmpeg的推流器(以推送RTMP为例)
  16. python依据出生日期判断星座(少量代码)
  17. word标尺单位怎么变更单位
  18. This primary key of id is primitive 不建议如此请使用包装类 in Class
  19. 【Linux】U盘制作安装系统启动盘
  20. 计算机cpu风扇的结构,“电脑专家”教你如何拆cpu风扇【图文教程】

热门文章

  1. 数据结构 哈希表 ASL 失败查找
  2. C语言之强化,弱化符号weak
  3. Spring Boot项目的打包和解压
  4. House Carpenter
  5. plotly.js 常见图形使用 常见图形操作 折线图 热力图 轮廓图 泡泡图 图点击事件
  6. matlab - 3 自由度的机械臂
  7. HTG评论RAVPower Bolt:您渴望的多合一充电器
  8. opencv 照片动漫风格
  9. 自动升降压5-40V多串超级电容充电芯片和解决方案
  10. 房企新的“生死线”:“两集中”会杀死谁?