首页 > 系统相关 >Linux nohup 命令

Linux nohup 命令

时间:2024-05-09 19:33:45浏览次数:14  
标签:输出 log XXX 命令 nohup Linux test

Linux nohup 命令

应用场景

使用 PyCharm 连接服务器跑模型虽然很方便,但是如果遇到网络不佳、PyCharm出BUG、急需转移阵地等情况就只能中断训练,前面的全白跑了。

因此可以尝试直接在服务器上使用命令跑模型,这个命令好说,笨一点的方法直接抄用 PyCharm 运行时输出的命令嘛:

image

但是这样依然有问题,如果在运行命令时,如果退出终端则依然会中断命令,问题依然没有解决。

最后可以尝试 nohup 命令解决上述问题。

nohup 命令介绍

nohup 英文全称 no hang up,即在系统后台不挂断地运行命令,因此退出终端不会影响程序的运行。

  • 语法格式

     nohup Command [ Arg … ] [ & ]
    
  • 参数说明:

    • Command:要执行的命令。
    • Arg:一些参数,可以指定输出文件。
    • &:让命令在后台执行,终端退出后命令仍旧执行。

nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

实例:使用 nohup 命令在后台跑模型

  • 首先应该保证你的训练代码不需要输入,然后执行以下命令

    nohup /XXX/python3 -u /XXX/train.py > test.log 2>&1 &
    

    命令注解:

    • 开头的 nohup 保证命令不挂断,最后的 & 保证终端退出后命令仍旧执行
    • /XXX/python3 -u /XXX/train.py
      • 即为使用 /XXX/python3(某个选定的解释器) 运行 /XXX/train.py(训练代码)
      • 中间的 -u 表示关闭缓存,保证把输出写入文件时无延迟
    • > test.log 将输出重定向到 test.log 文件
    • 2>&1 将错误输出重定向到标准输出,也就是错误信息也会写到标准输出的位置
      • 0 表示 stdin 标准输入
      • 1 表示 stdout 标准输出
      • 2 表示stderr标准错误信息输出
  • 注意事项:

    • 如果数据集加载路径为相对路径,则需要 cd 到代码所在的文件夹再执行命令

      • 否则会报地址错:

        image

      • 启动起来之后看一眼显卡跑起来了就对咯

        image

    • > test.log2>&1 是可选的,写与不写的区别在于少一条提示少按一次回车:

      image

      image

    • 注意记住提示的进程号,

      • 如果记不住,可以使用 jobs -l 命令查看这个进程的进程号,

        image

      • 当然如果退出终端重新打开的话这个进程会变成僵尸进程,需要用 ps -aux 命令查看所有进程找找。

        image

    • 跑起来之和可以使用 tail -f test.log 命令实时查看输出(Ctrl+C 退出),瞅瞅有没有问题:

      <image

    • 可以使用 kill -9 PID 杀掉这个进程

      image

标签:输出,log,XXX,命令,nohup,Linux,test
From: https://www.cnblogs.com/AncilunKiang/p/18182959

相关文章

  • Drozer常用命令
    drozer常用命令基础命令adb端口转发,dozer连接adbforwardtcp:31415tcp:31415drozerconsoleconnect进入dozer输入list或ls,查看dozer所有模块list查找安装包runapp.package.list-f查看安装包信息runapp.package.info-a安装包名查看暴露的......
  • Linux系统资源监控
    系统资源查看freefree displays the totalamountoffreeandusedphysicalandswapmemoryinthesystem,aswellasthebuffersandcachesusedbythekernel.Theinformationisgatheredbyparsing/proc/meminfo.Thedisplayedcolumnsare:free命令可......
  • linux ssh 远程执行命令
    双引号#!/bin/bash#此脚本用于测试ssh工具远程执行多条命令方式#使用的前提是已经设置密钥对并以默认私钥文件名存放在默认路径~/.ssh/下(即ssh免密登录)#或者使用-i参数手动指定私钥位置host=192.168.126.101sshtomandersen@$host"source/etc/profileecho\$JA......
  • 批量删除WordPress文章和页面的数据库命令和从后台直接删除
    批量删除wordpress的方法有两种:1.从wp后台可以调整展示:最多999条2.选择“Bulk”--“Apply”  通过批量删除wordpress文章和页面的数据库命令的步骤:备份数据库:在执行任何数据库操作之前,务必备份您的数据库以防万一。进入数据库:使用您的数据库管理工具(例如phpMyAdmin)登......
  • LVS(Linux Virtual Server)简述
    一、简介LVS(LinuxVirtualServer)是一个基于Linux操作系统的高性能、可扩展的负载均衡器。它提供了一种可靠的、高可用的解决方案,用于将来自客户端的请求分发到多个后端服务器,以实现负载均衡和高可用性。lvs工作在OSI模型的传输层,即四层负载均衡,LVS主要由两部分组成,ipvs和ipvs......
  • mysql - mysql 命令行的使用
    1.Mysql管理连接数据库--连接本地数据库mysql-uroot-p--连接远程数据库mysql-h192.168.0.105-uroot-p--连接远程指定数据库并设置字符集mysql-h192.168.0.105-uroot-p--default-character-set=utf8test修改root密码,直接修改配置文件[mysql]......
  • Red Hat Enterprise Linux (RHEL) 9.4 发布 (x86_64, aarch64) - 红帽企业 Linux
    RedHatEnterpriseLinux(RHEL)9.4发布(x86_64,aarch64)-红帽企业Linux红帽企业Linux9请访问原文链接:RedHatEnterpriseLinux(RHEL)9.4(x86_64,aarch64)-红帽企业Linux,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org红帽企业Linux9红帽企......
  • AlmaLinux 9.4 正式版发布 - RHEL 二进制兼容免费发行版
    AlmaLinux9.4正式版发布-RHEL二进制兼容免费发行版由社区提供的免费Linux操作系统,RHEL二进制兼容发行版请访问原文链接:AlmaLinux9.4正式版发布-RHEL二进制兼容免费发行版,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org由社区提供的免费Linux操作系......
  • Linux从入门到精通——Centos 7.9.2009 配置国内yum源及epel源
    Centos7.9.2009配置国内yum源及epel源一、备份原有的yum源配置文件在进行任何更改之前,建议先备份原有的yum源配置文件,以防止配置过程中出现问题。可以使用以下命令备份CentOS-Base.repo文件:[root@localhost~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Cor......
  • 【转】[MySQL] 忘记密码的处理之 Linux 篇
    来自:阿里的通义灵码如果你忘记了MySQL的root用户密码,可以按照以下步骤重置:方法1:使用 mysqld_safe 跳过授权表停止MySQL服务:bash sudoservicemysqlstop启动MySQL并跳过授权表:bash sudomysqld_safe--skip-grant-tables&登录到MyS......