之前主要是参考https://www.cnblogs.com/chason95/articles/9760291.html 一般使用

python test.py > ./log.txt
或
python test.py | tee ./log.txt

然后就会缓存很多输出后才能在屏幕或log中查到,就很难受。

后来领导给我了一条命令

srun --partition=GTX1080 --mpi=pmi2 --gres=gpu:1 -n1 --ntasks-per-node=1 --job-name=TEST --kill-on-bad-exit=1 python -u  test.py > log.txt 2>&1 &

去掉srun部分,大概是

python -u  test.py > log.txt 2>&1 &

这是啥玩意儿?(ubuntu都是用到了才学的,所以猛地一看有点懵逼)

但是这样就可以在log中实时看到输出信息了(tail -f log.txt)

那么这些乱七八糟的参数是啥意思呢?

首先,python -u

-u     : force the binary I/O layers of stdout and stderr to be unbuffered;
         stdin is always buffered; text I/O layer will be line-buffered;
         also PYTHONUNBUFFERED=x

原来如此!卡我的设置是这个!

然后>,就是简单的重定向。

2>&1,这个又是啥呢?

There are two forms of redirection the standard output and standard error into standard output.

2>&1就是其中一个,另一个是&>,那他们有什么区别呢?

Only >& works in csh or tcsh

In ksh only 2>&1 works.

dash use >file 2>&1 redirection only

csh,tcsh,ksh,dash是啥参考https://blog.csdn.net/LEON1741/article/details/77931460

最后的&: the ampersand & at the end makes a command run in the background。这样这条命令就可以在后台跑不用占这一个shell了。(用screen可以达到同样的效果,不过没这个方便。)

做个小笔记,就酱。

参考资料:

http://www.eetop.cn/blog/html/03/6503-25123.html

https://blog.csdn.net/LEON1741/article/details/77931460

https://askubuntu.com/questions/635065/what-is-the-differences-between-and-21

https://askubuntu.com/questions/833833/what-does-command-do/833848

ubuntu下python跑任务输出到文件中遇到的一些问题(输出重定向)的更多相关文章

  1. ubuntu下python flask环境搭建

    ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...

  2. ubuntu 下python安装及hello world

    //@desn:ubuntu 下python安装及hello world //@desn:码字不宜,转载请注明出处 //@author:张慧源  <turing_zhy@163.com> ...

  3. ubuntu下python 2.7与python 3.X的转换

    ubuntu下python 2.7与python 3.X的转换 由于ubuntu本身自带python 2.7,而python 3.X与2.7有很多不同,所以在使用python 3.X时会带来诸多不便. ...

  4. 将Linux下编译的warning警告信息输出到文件中[整理笔记]

    Linux中,脚本语言环境中,即你用make xxx即其他一些普通linux命令,比如ls,find等,不同的数字,代表不同的含义: 数字 含义 标准叫法0 标准输入  stdin = standar ...

  5. 【转】【整理】将Linux脚本中的正常输出,警告,错误等信息输出到文件中

     本文来自:http://blog.csdn.net/woshinia/article/details/18040063   很早以前  编译的时候 就在用 2>&1,但是一直没有生成一 ...

  6. 使用python脚本实现统计日志文件中的ip访问次数

    使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...

  7. Java的实验程序之输出单个文件中的前 N 个最常出现的英语单词

    日期:2018.10.11 星期四 博客期:016 题目:输出单个文件中的前 N 个最常出现的英语单词,并输出到文本文件中 在程序运行之前,我试着先写了字符的字母的总结,加载代码如下: //如下是第一 ...

  8. shell编程学习笔记(七):Shell中将指定内容输出到文件中

    我们这里把echo要打印的内容输出到文件中 以下蓝色字体部分为Linux命令,红色字体的内容为输出的内容: # cd /opt/scripts # vim script06.sh 开始编写script ...

  9. 将windows控制台内容输出到文件中

    将windows控制台内容输出到文件中 dir>c:/file.txt 2>&1   对应的java  class   >c:/file.txt 2>&1   ...

随机推荐

  1. 运输问题的+Leapms模型

    运输问题的+Leapms模型 运输问题是本科教课书中的一个经典章节.运输问题的线性规划模型非常简单,而且求解难度极小. 问题 一个公司生产并销售一种产品.该公司有m个产地.n个销地.产地 i 的供给量 ...

  2. 微信小程序性能优化之一

    性能优化 界面和业务逻辑之间事件交互小程序调用nativeNative回调小程序 图片源文件优化 渲染优化 ---------------------------------------------- ...

  3. c#实战开发:以太坊Geth 命令发布智能合约 (五)

    Token的合约代码我们参考Token-Factory的代码. 打开  https://remix.ethereum.org/#optimize=false&version=soljson-v ...

  4. Maven初解--依赖查找方法

    Maven可以实现对项目中的JAR包的版本管理,项目组成员公用一个Maven仓库(通过配置Maven的setting.xml文件,本地仓库和远程仓库,如果在本地仓库没有找到依赖的JAR,就会从远程仓库 ...

  5. DevOps概述

    Devops概念 转载自 devops实践-开篇感想 DevOps(英文Development和Operations的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和 ...

  6. element表格添加查看操作

    表格代码:黄色部分关键代码 首先看效果: <el-table :data="tableData" border height="480" style=&q ...

  7. js 百度地图定位

    //百度 layer.msg('正在定位,请稍后'); var geolocation = new BMap.Geolocation({ enableHighAccuracy: true, //是否使 ...

  8. 日志分析工具Log Parser介绍

    摘要: 微软动态CRM专家罗勇 ,回复321或者20190322可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 分析Dynamics 365 Customer Enga ...

  9. Skyline Terra Explorer6.6弹出窗口实现复制功能

    前段时间继续下来的基于Skyline的B/S项目,是基于Terra Explorer6.6实现的.项目中涉及到基于三维模型查询设备编码等操作,从用户友好角度来讲,查询到的设备编码应该要支持复制,方便用 ...

  10. C语言货架02

    第1章 程序设计和C语言  最简单的C语言程序举例 #include<stdio.h> int main() { printf("这是一个C程序\n"); : } C语 ...