Linux后台命令的使用说明
1)ctrl+Z:停止当前进程
首先先将一个程序运行起来,这个时候如果你需要去干别的事情,需要暂停运行,可以使用ctrl+Z:
user@mine:/opt/user/pytorch-gender$ python train_debug.py --debugFile=./debug
{'debugFile': './debug'}
Epoch /
----------
^Z
[]+ Stopped python train_debug.py --debugFile=./debug
从上面可以看见,这个程序已经已经停止了,状态为Stopped
2)jobs:用于查看正在运行的命令
user@mine:/opt/user/pytorch-gender$ jobs
[]+ Stopped python train_debug.py --debugFile=./debug
前面的编号[1]是命令编号
3)bg 命令编号:把程序调度到后台执行:
user@mine:/opt/user/pytorch-gender$ bg
[]+ python train_debug.py --debugFile=./debug &
user@mine:/opt/user/pytorch-gender$ jobs
[]+ Running python train_debug.py --debugFile=./debug &
然后我们可以看见该命令在后台运行起来了,状态为Running,命令后的&标志就是把命令放在后台运行的意思
这个时候该命令生成的返回信息会自己打印出来:
user@mine:/opt/user/pytorch-gender$ train Loss: 0.4611 Acc: 0.7824
val Loss: 0.1882 Acc: 0.9340
Epoch /
---------- user@mine:/opt/user/pytorch-gender$ train Loss: 0.3271 Acc: 0.8578
val Loss: 0.1845 Acc: 0.9260
Epoch /
----------
不影响你运行其他的命令,你就输入你的命令回车即可
当然,如果你不想让输出显示在控制台中,那就在运行时指明将输出信息写入日志文件:
user@mine:/opt/user/pytorch-gender$ python train_debug.py --debugFile=./debug >> gender_log_debug_1.out
打开另一个窗口查看日志文件为:
user@mine:/opt/user/pytorch-gender$ cat gender_log_debug_1.out
{'debugFile': './debug'}
Epoch /
----------
然后这个时候如果你想进行调试,即pytorch Debug —交互式调试工具Pdb (ipdb是增强版的pdb)-1-在pytorch中使用,那么你在本地生成文件夹debug后,再查看日志文件变为:
user@mine:/opt/user/pytorch-gender$ cat gender_log_debug_1.out
{'debugFile': './debug'}
Epoch /
----------
train Loss: 0.4507 Acc: 0.7919
val Loss: 0.1578 Acc: 0.9420
Epoch /
----------
train Loss: 0.3201 Acc: 0.8576
val Loss: 0.1069 Acc: 0.9540
Epoch /
----------
--Call--
> /home/mine/anaconda3/lib/python3./site-packages/torch/autograd/grad_mode.py()__exit__() --> def __exit__(self, *args):
torch.set_grad_enabled(self.prev) ipdb> user@mine:/opt/user/pytorch-gender$
这时候你在命令端输入调试命令u:
user@mine:/opt/user/pytorch-gender$ python train_debug.py --debugFile=./debug >> gender_log_debug_1.out
u
可见日志文件中变为:
user@mine:/opt/user/pytorch-gender$ cat gender_log_debug_1.out
{'debugFile': './debug'}
Epoch /
----------
train Loss: 0.4507 Acc: 0.7919
val Loss: 0.1578 Acc: 0.9420
Epoch /
----------
train Loss: 0.3201 Acc: 0.8576
val Loss: 0.1069 Acc: 0.9540
Epoch /
----------
--Call--
> /home/mine/anaconda3/lib/python3./site-packages/torch/autograd/grad_mode.py()__exit__() --> def __exit__(self, *args):
torch.set_grad_enabled(self.prev) ipdb> > /opt/user/pytorch-gender/train_debug.py()train_model()
import ipdb;
--> ipdb.set_trace() ipdb>
如果调用l 123命令:
user@mine:/opt/user/pytorch-gender$ python train_debug.py --debugFile=./debug >> gender_log_debug_1.out
u
l
可见日志文件又变为:
user@mine:/opt/user/pytorch-gender$ cat gender_log_debug_1.out
{'debugFile': './debug'}
Epoch /
----------
train Loss: 0.4507 Acc: 0.7919
val Loss: 0.1578 Acc: 0.9420
Epoch /
----------
train Loss: 0.3201 Acc: 0.8576
val Loss: 0.1069 Acc: 0.9540
Epoch /
----------
--Call--
> /home/mine/anaconda3/lib/python3./site-packages/torch/autograd/grad_mode.py()__exit__() --> def __exit__(self, *args):
torch.set_grad_enabled(self.prev) ipdb> > /opt/user/pytorch-gender/train_debug.py()train_model()
import ipdb;
--> ipdb.set_trace() ipdb> labels = labels.to(device) # 当前批次的标签输入
# print('input : ', inputs)
# print('labels : ', labels) # 将梯度参数归0
optimizer.zero_grad() # 前向计算
# track history if only in train
with torch.set_grad_enabled(phase == 'train'):
# 相应输入对应的输出 ipdb>
所以输出和命令输入虽然不在一起,但是并不妨碍功能的实现
4)fg 命令编号:将后台命令调到前台运行
如果我想要对上面的命令进行调试,我就需要将其调到前台,然后再进行调试
user@mine:/opt/user/pytorch-gender$ fg
python train_debug.py --debugFile=./debug
train Loss: 0.2337 Acc: 0.9059
val Loss: 0.1347 Acc: 0.9400
Epoch /
----------
train Loss: 0.2040 Acc: 0.9141
val Loss: 0.0962 Acc: 0.9640
Epoch /
----------
train Loss: 0.1984 Acc: 0.9182
val Loss: 0.0825 Acc: 0.9720
Epoch /
----------
train Loss: 0.1841 Acc: 0.9218
val Loss: 0.1059 Acc: 0.9640
Epoch /
----------
train Loss: 0.1868 Acc: 0.9215
val Loss: 0.0668 Acc: 0.9740
Epoch /
----------
train Loss: 0.1782 Acc: 0.9273
val Loss: 0.0735 Acc: 0.9740
Epoch /
----------
train Loss: 0.1703 Acc: 0.9291
val Loss: 0.0850 Acc: 0.9680
Epoch /
----------
train Loss: 0.1596 Acc: 0.9329
val Loss: 0.1114 Acc: 0.9560
Epoch /
----------
--Call--
> /home/mine/anaconda3/lib/python3./site-packages/torch/autograd/grad_mode.py()__exit__() --> def __exit__(self, *args):
torch.set_grad_enabled(self.prev) ipdb>
5)nohup 命令 & :直接将命令放在后台运行
nohup python train_debug.py --debugFile=./debug &
如果要指定返回信息写入的日志文件log.out:
nohup python train_debug.py --debugFile=./debug >> log.out &
Linux后台命令的使用说明的更多相关文章
- 【转】linux ar 命令的使用说明那个和例子
from: http://blog.csdn.net/xljiulong/article/details/7082960 linux ar 命令的使用说明那个和例子 标签: linuxmakefile ...
- linux ar 命令的使用说明那个和例子[转]
用途说明 创建静态库.a文件.用C/C++开发程序时经常用到,但我很少单独在命令行中使用ar命令,一般写在makefile中,有时也会在shell脚 本中用到.关于Linux下的库文件.静态库.动态库 ...
- Linux后台命令导入MySQL语句
1.首先输入命令: mysql -u root -p 然后输入MySQL的密码会进入到MySQL的命令界面. 2.输入命令use+数据库名字: use databaseName 3.最后输入命令sou ...
- Linux cp命令使用说明
Linux cp命令使用说明 --功能说明:复制目录或文件 --命令格式:cp [参数] <文件或目录> <文件或目录> --常用参数: -R 复制目录 -i 覆盖文件之 ...
- 转-Linux系统下安装rz/sz命令及使用说明
时间: 2013/03/20 | 分类: Linux常用命令 | 作者: 李坏 | 浏览:39,146 | 评论:5 对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务 ...
- Linux 系统下安装 rz/sz 命令及使用说明
Linux 系统下安装 rz/sz 命令及使用说明 rz/sz命令,实现将本地的文件上传到服务器或者从服务器上下载文件到本地,但是很多Linux系统初始并没有这两个命令,以下为安装和使用的具体步骤: ...
- linux后台启动命令-的原因
linux后台启动命令-的原因 学习了:https://blog.csdn.net/saife/article/details/78276014 学习了:https://www.ibm.com/dev ...
- 【linux配置】Linux系统下安装rz/sz命令以及使用说明
Linux系统下安装rz/sz命令以及使用说明 对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很 ...
- Linux后台执行命令:&和nohup nohup和&后台运行,进程查看及终止
nohup和&后台运行,进程查看及终止 阅读目录 nohup和&后台运行,进程查看及终止 1.nohup 2.& 3.nohup和&的区别 &:是指在后台运 ...
随机推荐
- mysql锁机制详解
前言 大概几个月之前项目中用到事务,需要保证数据的强一致性,期间也用到了mysql的锁,但当时对mysql的锁机制只是管中窥豹,所以本文打算总结一下mysql的锁机制. 本文主要论述关于mysql锁机 ...
- 深度学习(九) 深度学习最全优化方法总结比较(SGD,Momentum,Nesterov Momentum,Adagrad,Adadelta,RMSprop,Adam)
前言 这里讨论的优化问题指的是,给定目标函数f(x),我们需要找到一组参数x(权重),使得f(x)的值最小. 本文以下内容假设读者已经了解机器学习基本知识,和梯度下降的原理. SGD SGD指stoc ...
- spring原理案例-基本项目搭建 03 创建工程运行测试 spring ioc原理实例示例
下面开始项目的搭建 使用 Java EE - Eclipse 新建一 Dynamic Web Project Target Runtime 选 Apache Tomcat 7.0(不要选 Apache ...
- 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil
封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创 ...
- 基于React-Native0.55.4的语音识别项目全栈方案
移动端的API能力验证方案与PC端不一样!不一样!!不一样!!! 即使需要使用的API都存在,也不一定能用,这一点和PC端是有很大区别的,国内的手机系统虽然都是基于Android,但几乎都会经过各大厂 ...
- 《C#并发编程经典实例》学习笔记—2.4 等待一组任务完成
问题 执行几个任务,等待它们全部完成. 使用场景 几个独立任务需要同时进行 UI界面加载多个模块,并发请求 解决方案 Task.WhenAll 传入若干任务,当所有任务完成时,返回一个完成的任务. 重 ...
- C# 创建邮件合并模板并合并文本、图片
对于Word中的邮件合并功能,用户可以将邮件合并后的结果文档保存并打印,也可以通过邮件的形式发送,在很多场合需要使用到此功能.那对于编程人员,我们也可以在C#语言环境中通过代码的形式来实现.根据需要先 ...
- javaweb项目创建和虚拟主机配置
首先点击File-àNew-àWeb [roject-à在Projcet Name里写项目名-à点击finish-à会出来一个框,选择NO,一个javaweb项目就创建好了.具体请看下图! 配置服务器 ...
- 从.Net到Java学习第十二篇——SpringBoot+JPA提供跨域接口
从.Net到Java学习系列目录 最近又撸了半个月的前端代码,做app离线存储,然后又花了一周去将过去的wcf项目转webapi,java又被落下了,总感觉我特么像斗地主中的癞子牌,变来变去..... ...
- Android为TV端助力 反编译
http://blog.csdn.net/vipzjyno1/article/details/21039349/ apktool.bat d -f test.apk test 这条命令修改 ...