关于在ubuntu下使用nohup、定向存储问题以及记录时间总结

1、定向存储问题

        当我们在调程序尤其是在训练神经网络观察其参数的变化时,我们通常喜欢将输出结果存储到线下的文件中,意为打log,但是存储数据又分为存储输入、错误输出以及正常输出3类。

        &1为文件描述符1,并不是我们时常认为的命名为1的文件,切记这个要区分开,2>&1是将输出错误结果与正确结果进行合并,一起保存在文件中,其中0表示键盘输入、1表示屏幕输出、2表示错误输出。2>&1把标准输出与错误输出进行合并;

        command > outfile 即是将command的输出重定向到outfile文件中,即输出不打印在屏幕中,直接输出到outfile中。

        2>被定义为错误重定向,而2>1则是错误输出被定向到一个文件1中,而不是将错误输出定向成标准输出。2>&1被定义为重定向为标准输出;

        在使用命令处理结果时,我们通常把2>&1写在后面,是因为首先要把输出定向到某个文件中,然后2>&1代表着将错误输出定义为标准输出,最后将错误输出与标准输出一起定向到某个文件中。

        对于 command 2>&1 >file来讲,首先将错误输出定义为标准输出,但是,此时输出还是在终端,>file输出才会被从新定向到文件中,但是标准错误仍然在终端。这个有一个先后顺序的表达过程。

2、nohup

        在我们测试程序的时候经常要使用后台运行这样,当我们关闭终端时,不会停止程序。因此,我们常用的命令为:

        nohup python run.py >> out.log 2>&1 &    >>代表着不删除out.log,接着在out.log后面输出,最后的&表示为后台运行

3、记录时间

        目前由于遇到一个问题,就是我要启动程序,但是需要在某个时间段启动程序,并在这个时间段结束后关闭程序,因此我需要准确的时间:hour、minute,second,因此我们使用python里面的datetime这个库函数

datetime日期时间对象,常用的属性:hour、minute、year、day等
date日期对象,常用属性:year、month、day
time时间对象,常用属性:hour、second、minute
datetime日期时间对象,常用的属性:hour、minute、year、day等
timedelta时间间隔对象,即两个时间点之间的长度
tzinfo时区信息对象

        python中的datetime与time类的侧重点不同,time更加倾向于时间戳,即时区时间

        参考时间:https://www.jianshu.com/p/e8951a4aeb71?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值