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后台命令的使用说明的更多相关文章

  1. 【转】linux ar 命令的使用说明那个和例子

    from: http://blog.csdn.net/xljiulong/article/details/7082960 linux ar 命令的使用说明那个和例子 标签: linuxmakefile ...

  2. linux ar 命令的使用说明那个和例子[转]

    用途说明 创建静态库.a文件.用C/C++开发程序时经常用到,但我很少单独在命令行中使用ar命令,一般写在makefile中,有时也会在shell脚 本中用到.关于Linux下的库文件.静态库.动态库 ...

  3. Linux后台命令导入MySQL语句

    1.首先输入命令: mysql -u root -p 然后输入MySQL的密码会进入到MySQL的命令界面. 2.输入命令use+数据库名字: use databaseName 3.最后输入命令sou ...

  4. Linux cp命令使用说明

    Linux cp命令使用说明 --功能说明:复制目录或文件 --命令格式:cp  [参数]  <文件或目录>  <文件或目录> --常用参数: -R 复制目录 -i 覆盖文件之 ...

  5. 转-Linux系统下安装rz/sz命令及使用说明

    时间: 2013/03/20 | 分类: Linux常用命令 | 作者: 李坏 | 浏览:39,146 | 评论:5   对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务 ...

  6. Linux 系统下安装 rz/sz 命令及使用说明

    Linux 系统下安装 rz/sz 命令及使用说明 rz/sz命令,实现将本地的文件上传到服务器或者从服务器上下载文件到本地,但是很多Linux系统初始并没有这两个命令,以下为安装和使用的具体步骤: ...

  7. linux后台启动命令-的原因

    linux后台启动命令-的原因 学习了:https://blog.csdn.net/saife/article/details/78276014 学习了:https://www.ibm.com/dev ...

  8. 【linux配置】Linux系统下安装rz/sz命令以及使用说明

    Linux系统下安装rz/sz命令以及使用说明 对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很 ...

  9. Linux后台执行命令:&和nohup nohup和&后台运行,进程查看及终止

    nohup和&后台运行,进程查看及终止   阅读目录 nohup和&后台运行,进程查看及终止 1.nohup 2.& 3.nohup和&的区别 &:是指在后台运 ...

随机推荐

  1. TCP的11种状态

    TCP的11种状态 TCP三次握手建立连接 Tcp头部 六个标志位中,我们要用到三个: SYN:SYN= 1 表示这是一个连接请求或连接接受报文.在建立连接时用来进行同步序号(个人理解是,在建立连接的 ...

  2. flume 1.8.0 开发基础

    本文由云+社区发表 作者:皮皮熊 概述 Apache Flume是一个用于高效地从大量异构数据源收集.聚合.传输到一个集中式数据存储的分布式.高可靠.高可用的系统. Apache Flume是Apac ...

  3. windows资源管理器多标签打开 windows文件夹多标签浏览 浏览器tab页面一样浏览文件夹 clover win8 win10 报错 无响应问题怎么解决 clover卡死 clover怎么换皮肤

    大家都知道,我们打开一堆文件夹的时候,是什么样子 “厚厚的一叠”图标堆叠在一起的,非常的不方便 那么,是不是可以像浏览器一样的tab页面展示呢? 答案是可以的 安装好就是这样子的 是不是方便漂亮了很多 ...

  4. Django 系列博客(十四)

    Django 系列博客(十四) 前言 本篇博客介绍在 html 中使用 ajax 与后台进行数据交互. 什么是 ajax ajax(Asynchronous Javascript And XML)翻译 ...

  5. Camera测试之Color & Lens shading Test

    测试目的:测试摄像头成像的均匀性 测试主要设备:均匀光源(DNP灯箱),色温照度计 测试环境:将灯箱光源调至600±100lux 测试注意事项:保证均匀的光源 测试原理: 造成摄像头成像不均匀的原因有 ...

  6. location.origin兼容IE

    if (window["context"] == undefined) { if (!window.location.origin) { window.location.origi ...

  7. 卷烟厂生产管理系统基于ASP.NET

    VS.Net 2003开发的一个非常老的生产信息管理系统运行10多年依旧稳定,这几天来南昌做维保工作,看到了曾经开发的信息系统.该系统在我眼里老到几点,可却依然在厂里大面积使用,抛开技术上的落后,从新 ...

  8. Python浅谈requests三方库

    requests 三方库用于获取URL资源 1.GET请求访问一个页面 import requests r = requests.get('https://www.cnblogs.com/xqxacm ...

  9. ionic3 Toast组件

    html页面 <button ion-button color="dark" class="button-block" (click)="sho ...

  10. Android注解神器 ButterKnife框架

    前言: 本人是一个只有几个月工作经验的码小渣.这是我写的第一篇博客,如有不足之处还请大家不要介意,还请大佬可以指出问题. 在这几个月的实战开发中自己也遇到了很多问题,真的是举步艰难啊!!! 在实战开发 ...