Linux nohup 命令

Linux nohup 命令

应用场景

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

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

在这里插入图片描述

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

最后可以尝试 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 到代码所在的文件夹再执行命令

      • 否则会报地址错:

        在这里插入图片描述

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

        在这里插入图片描述

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

      在这里插入图片描述

      在这里插入图片描述

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

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

        在这里插入图片描述

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

        在这里插入图片描述

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

      在这里插入图片描述

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

      在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【OceanBase诊断调优】—— 如何排查 server 断连接问题

本文介绍如何排查 server 断连接问题。 断开连接的常见原因 协议层异常 发送报文时遇到发生一些非预期的错误,server 将会发生主动断开连接。 事务异常 包括 rollback 失败或 commit 失败。 Query 异常 已输出行数据,但 server 内部发生错误。 Proce…

为什么需要归档和管理合同

归档和管理合同是非常重要的,主要有以下几个原因: 1. 法律合规性:公司需要遵守法律和监管要求,合同是法律文件,涉及公司的权益和责任。归档和管理合同可以确保公司遵守法律法规,合同的内容和执行过程都符合…

水质监测设备预警系统

随着工业化进程的加快和城市化水平的提高,水质安全问题愈发受到社会各界的广泛关注。为了确保水资源的清洁与安全,水质监测设备预警系统成为了不可或缺的利器。在这个背景下,HiWoo Cloud平台凭借其先进的技术和卓越的性能,为水质监…

【Java SE】对象的比较

🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 本期内容满满干货,将会深入介绍对象与对象之间是如何进行比较的,我们知道基本数据类型是可以直…

厦门网上在线教育系统,线下老师怎么转型到线上网上授课?

现在很多 线下老师都想转到线上做网课,但是在转线上过程中会出现很多问题,很多人都不知道怎么开始,今天小编和大家说一下要注意的。 一、你要有一套适合线上的教学视频 首先你要准备做的课程内容是什么,怎么讲,讲什么&…

[Linux]如何在Ubuntu 22.04系統安裝Node-red?

Node-red是一個建立在Node.js上的視覺化程式設計工具,其常見的應用情境為建置或轉換各項硬體之間的通信協定的物聯網或工聯網場域,其可藉由設置來安裝第三方應用模組來建置多樣的通信協定節點,包含modbus in/out, mqtt in/out, websocket in/…

Mac YOLO V9推理测试

环境: Mac M1 (MacOS Sonoma 14.3.1) Python 3.11PyTorch 2.1.2 一、准备工作 工程及模型下载:​​​​​​​https://github.com/WongKinYiu/yolov9 git clone https://github.com/WongKinYiu/yolov9.git 克隆后安装相关依赖(没啥依赖好装…

力扣:416. 分割等和子集(Java,动态规划:01背包问题)

目录 题目描述:示例 1:示例 2:代码实现: 题目描述: 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入&#…

容器集群管理系统Kubernetes(K8S)

目录 一、前言 1.1什么是云原生? 1.2云要素的四要素? 1.2.1微服务 1.2.2容器化 1.2.3DevOps 1.2.4持续交付 1.3云平台有哪些? 1.4SRE 二、Kubernetes 概述 2.1K8S 是什么 2.2K8S作用 2.3K8S版本 2.4为什么要用 K8S 2.5K8S 的特…

在Ubuntu上安装Anaconda之后,启动失败

为了方便管理Pythonu环境,在Ubuntu的Docker容器中安装了Anaconda,安装完成,启动时出现如下错误: conda activate xxx usage: conda [-h] [--no-plugins] [-V] COMMAND ... conda: error: argument COMMAND: invalid choice: acti…

如何让加快OpenHarmony编译速度?

OpenHarmony 有两种编译方式,一种是通过 hb 工具编译,一种是通过 build.sh 脚本编译。本文笔者将提升 build.sh 方式编译速度的方法整理如下: 因为笔者只用 build.sh 脚本编译,没用过 hb 工具,好像下面的选项也可以用于…

RockChip Uboot/Kernel开机LOGO和Android开机动画

一:Uboot/Kernel开机LOGO 1、默认替换方式 uboot和kernel阶段的logo分别为开机显示的第一张和第二张图片,可通过替换logo文件,重新编译内核的方法修改uboot和kernel开机logo,编译后的logo文件位于boot.img中。 uboot logo文件:kernel/logo.bmp kernel logo文件:kernel/…

Jenkins--自动化构建和部署SpringBoot项目

一、实现目标 通过在Jenkins中创建流水线任务,编写流水线脚本以实现自动化构建和部署SpringBoot项目。流水线脚本主要实现以下几个步骤: Preparation:从gitee上拉取远程仓库的SpringBoot项目代码。Build:使用Maven对拉取的代码进…

部署JVS服务出现上传文件不可用,问题原因排查。

事情的起因是这样的,部门经理让我部署一下JVS资源共享框架,项目的地址是在这里 项目资源地址 各位小伙伴们做好了,我要开始发车了,全新的“裂开之旅” 简单展示一下如何部署JVS文档 直达链接 撕裂要开始了 本来服务启动的好好…

链式二叉树的基本操作1

1.概念回顾 讲二叉树的基本操作之前,我们回顾一下二叉树的概念 在讲树之前,我们的每讲一种数据结构,无外乎就是在讲它们的增删查改,但是在树这里,就有了不小变化。 2.结点的定义 既然是链式二叉树,那必须…

奇安信网络安全实习一面

自我介绍数据库的几种防御方式,无回显怎么办?防御最有效的方式,预编译的原理?应急的经验(在之前实习公司)redis未授权怎么getshellmysql怎么获取shell做过代码审计嘛?java721没有链怎么办&#…

在线企业机构不可错过的开源知识付费平台!免费试用!,免费网上教学平台有哪些?怎么选择?

在线教育平台可谓如雨后春笋般,一个接一个的诞生。当然,对于学员来说,找在线教学平台首先是找对自己有用的,再者就是免费平台。其实在线教学平台免费的也有,不过不是每个课程都免费。这里我们一起来看看免费的在线教育…

部署 Sentinel 控制台:实现流量管理和监控

序言 Sentinel 是阿里巴巴开源的一款流量防护与监控平台,它可以帮助开发者有效地管理微服务的流量,实现流量控制、熔断降级、系统负载保护等功能。本文将介绍如何在项目中部署和配置 Sentinel 控制台,实现微服务的流量防护和监控。 一、Sen…

机器学习_如何给客户做聚类K-Means

文章目录 前言K-Means 的工作原理总结K-Means的实战 前言 在工作中遇见咱们给客户做下聚类,划分下客群,这里分成3类(也可根据需求分成6类)。根据现有的字段,将数值分成层级(已处理好的数据)&am…

深入理解Linux中TCP/IP协议栈的实现原理与具体过程

一、Linux内核与网络体系结构 在我们了解整个linux系统的网络体系结构之前,我们需要对整个网络体系调用,初始化和交互的位置,同时也是Linux操作系统中最为关键的一部分代码-------内核,有一个初步的认知。 1、Linux内核的结构 …