Python后台运行 -- nohup python xxx.py
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相关推荐
- python 后台运行
Python 后台运行 关于Python后台运行,查找了很多资料,配合Tornado后端库来实现. 首先聊一聊Linux中,关于后台和前台的问题. 当前状态下,执行了一条阻塞型命令(apt updat ...
- linux使得python后台运行,linux 下后台运行python脚本
&符号 这两天要在服务器端一直运行一个Python脚本,当然就想到了在命令后面加&符号 $ python /data/python/server.py >python.log & ...
- python从外部传入参数_从另一个Python脚本运行一个Python脚本,并传入参数 - python...
我想从另一个Python脚本运行一个Python脚本.我想像使用命令行一样传递变量. 例如,我将运行我的第一个脚本,该脚本将遍历值列表(0.1.2.3),并将其传递给第二个脚本,依次为script2. ...
- nohup怎么更改名字_用nohup后台运行,用python 发提醒邮件
最近在学校的n电脑上跑数据,很多时候一个run要耗费好几个小时,ssh不知道为什么连一会后会自动断开,跑到一半程序就悲剧了. 在网上找了一会 发现一个神器:nohup, 用法超级简单: nohup c ...
- linux系统的python能运行dll,python调用window dll和linux so例子
#!/usr/bin/python # -*- coding: UTF-8 -*- #python dll.py import win32api # 打开记事本程序,在后台运行,即显示记事本程序的窗口 ...
- python解释器运行代码-Python如何运行程序
人生苦短,我用Python. 作为一个开发人员,如何写代码是必须要知道的,代码如何运行也是有必要了解的.通过了解代码如何运行,可指导我们写出效率更高的代码.下午看了<Python学习手册> ...
- python如何运行一个python程序_python如何运行?第一个python小程序示范
我们想要用python编程首先要做的就是安装一些工具,随后学会应用.那么问题来了,我们需要安装什么?python又是怎样运行的呢? 安装什么工具? 1.Python 3.6.5(我安装的,还有很多版本 ...
- python怎么运行代码-python如何运行代码
python作为一种动态语言,其实是一个解释器软件包. 当Python运行脚本时,在代码开始进行处理之前,Python还会执行一些步骤.(推荐学习:Python视频教程) 第一步是编译成所谓的&quo ...
- linux+后台运行+nohup,Linux后台运行命令集(、fg、bg、jobs、nohup、ctrl + z)
Linux后台运行命令集(&.fg.bg.jobs.nohup.ctrl + z) 1).& 命令或进程最后加上"&",可以把此操作放到后台执行: 2).c ...
最新文章
- 面试官:谈谈JWT鉴权的应用场景及使用建议?
- OpenCV-Python中的两种图像通道分离法
- 利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符
- curl java_如何将curl -X post转换为java
- JS疑惑-1(连续赋值)
- 微服务统一登录认证怎么做?JWT ?
- 速升级!SonicWall 3个已遭利用的严重0day 影响企业邮件安全设备
- Java jta 原理_分布式事务JTA实现Atomikos与Spring集成实践
- 访问共享文件夹总是提示“指定的网络名不再可用”,重启就好了
- linux用for循环写九九乘法表,写一个方法,用一个for循环打印九九乘法表
- 程序猿生存指南-51 杭城相会
- TFN DG15M 高抗干扰电缆故障测试仪评测
- STL 常用容器(1)--string
- win git 报错 no matching host key type found. Their offer: ssh-rsa
- 最简单的基于FFmpeg的推流器(以推送RTMP为例)
- python依据出生日期判断星座(少量代码)
- word标尺单位怎么变更单位
- This primary key of id is primitive 不建议如此请使用包装类 in Class
- 【Linux】U盘制作安装系统启动盘
- 计算机cpu风扇的结构,“电脑专家”教你如何拆cpu风扇【图文教程】