当我们在终端启动服务或者训练模型时,启动命令往往会阻塞自己,即无法在终端继续输入,同时为了保证终端关闭不影响进程中断,需要在后台启动进程.

1. nohup命令

后台启动常用的命令如下:

nohup command 2>&1 & 或者 nohup command 2>>&1 &

示例: nohup python my.py >>/home/xxx/my.log 2>&1 &

在bash shell中:

0:代表标准输入,即键盘输入的内容

1:代表标准输出,即输出到显示屏的内容

2:代表标准错误,即报错内容

>>: 代表追加, > 会让日志文件的内容清空

nohup: 表示不挂断地执行命令,即便退出当前终端。同时会将屏幕的标准输出追加到默认文件 ‘nohup.out’ 文件。

&:表示在后台执行命令

2>&1: 不能用空格,代表将错误内容重定向到标准输出中。

2. 命令解析

假设有如下命令:

nohup python my.py >> /home/my.log 2>&1 &

其中:

nohup python my.py 这部分意思是用python不间断地执行my.py脚本

my.py >> /home/my.log 这部分等同于 my.py 1>> /home/my.log,即省略了标准输出

/home/my.log 2>&1 这部分又将标准错误重定向到标准输出,之前标准输出又会追加到my.log中,也就是说标准输出和标准错误都会追加到my.log中

其实代码可以拆解为:

nohup python my.py 1>> /home/my.log &

nohup python my.py 2>> /home/my.log &

2>&1中的 & 是为了区分 1 是文件名 还是标准输出1 ,如果省略掉则变成了输出到文件1中。

3. nohup不输出到文件

nohup启动服务时,会默认生成 nohup.out 文件,这样可能会占据相当一部分的磁盘空间,所以便会有一种需求 - 不让nohup 产生日志。

其实是没办法不让 nohup 产生日志的,但是可以利用 linux 的 黑洞 /dev/null ,重定向到它的信息会消失,如果我们不需要保存程序运行时的所有信息时,就可以将信息重定向到 /dev/null 。

示例如下:

nohup python my.py > /dev/null 2>&1 &

linux 启动服务后台运行,linux后台启动任务相关推荐

  1. 如何在后台运行 Linux 命令

    Linux 命令是使用终端与系统交互的好方法.但是,有时可能需要一段时间才能完成手头的任务.这迫使用户等待相当长的时间或完全生成一个新的 shell. 幸运的是,您可以通过一些简单的方法在后台运行 L ...

  2. linux 命令 抛后台,在后台运行Linux命令的方法

    通常情况下,当你在终端运行一个命令,在你开始输入另外一个命令之前,你必须等待当前命令运行结束.这被称为在前台运行命令,或者前台进程.当一个进程在前台运行时,它占用了你的 shell,并且你可以通过输入 ...

  3. 后台运行linux程序,后台运行Linux程序的方法

    后台运行Linux程序,可以通过crontab设置,这种方法一般用来让一个程序定时运行,也可以通过./test &这样在程序末尾加上一个&使程序在后台运行. 编写代码,下面我将参考ht ...

  4. IOS后台运行 之 后台播放音乐

    IOS后台运行 之 后台播放音乐 iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了.如果音频操作是用苹果官方的AVFoundation.framework实现,像 ...

  5. Linux X Window System运行原理和启动过程

    本文主要说明X Window System的基本运行原理,其启动过程,及常见的跨网络运行X Window System. 一) 基本运行原理 X Window System采用C/S结构,但和我们常见 ...

  6. linux 启动启动服务_更快地启动Linux

    linux 启动启动服务 在我曾经拥有或使用过的所有计算机中,启动速度最快的计算机是1980年代. 当您的手从电源开关移至键盘时,BASIC解释器已为您的命令准备就绪. 现代计算机从一台笔记本电脑花费 ...

  7. linux scp 后台运行,Linux scp 设置nohup后台运行

    Linux scp 设置nohup后台运行 1.正常执行scp命令 从oradb30机器拷贝一个文件夹到oradb31机器: scp -r /u01/media/Disk1/ 192.168.1.31 ...

  8. linux系统让一个命令在后台运行,Linux——Linux后台运行命令详述

    本次主要讲述后台运行命令(crontab,at,&,nohup)及(*,?,[])等 • 设置c r o n t a b文件,并用它来提交作业. • 使用a t命令来提交作业. • 在后台提交 ...

  9. linux下设置程序后台运行,linux中如何让进程在后台运行

    一. nohup / setsid / & 使用场景: 如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢? 我们的解决办法就有两种途径:要么让进程忽略 HUP 信 ...

最新文章

  1. 某程序员吐槽:提离职后领导开始演戏,假装不知道我工资低,对我进行挽留,怎么办?...
  2. 数字图像处理领域的二十四个典型算法及vc实现、第一章
  3. CSS3 2D和3D转换 Transform
  4. APP技巧:盘点微信去年更新的9个更新功能,你都知道吗?
  5. 基于卷积神经网络的草莓病害检测(新数据+基础算法?=SCI)
  6. wpf中的默认右键菜单中的复制、粘贴、剪贴等没有本地化的解决方式
  7. 挑战程序设计竞赛(第一章)
  8. carrot2_热门的错误人类天气机器人CARROT终于在Android上推出
  9. csdn切换格式markdown
  10. 统计学的Python实现-005:最大值、最小值、极差
  11. apk编辑器android源码,apk编辑器电脑版_apk编辑器电脑版下载[apk编译]- 下载之家
  12. IOS音视频(四十五)HTTPS 自签名证书 实现边下边播
  13. python interpreter下载_Pyonic Python 3 interpreter
  14. 迅雷极速版服务器未响应,迅雷极速版频繁崩溃,求大神帮忙
  15. OpenCV开发笔记(六十九):红胖子8分钟带你使用传统方法识别已知物体(图文并茂+浅显易懂+程序源码)
  16. Multisim # 数字逻辑仿真实验一些基础的tips
  17. DC-DC降压芯片是否有输入输出压差范围要求?
  18. Java真题笔记|华为
  19. Java实现数据库敏感信息脱敏方案
  20. Ubuntu22.04TLS插入3.5mm耳机没有声音

热门文章

  1. 关于的FPV救援机器人的演讲。
  2. 【龙芯1B】:LCD显示图片文字背景色前景色、小创语音控制lcd显示、数码管倒计时
  3. Java High Level REST Client 中文API(仅供参考)
  4. 新闻网站个人中心(个人信息修改)流程分析
  5. 先行发生原则(happens-before)介绍
  6. 公司注册网站有哪些流程呢?
  7. vue使用高德地图实现多种点样式海量点渲染及信息显示
  8. 独家 | 哪个更好:一个通用模型还是多个专用模型?
  9. 图解Windows98安装
  10. elasticsearch遇到的问题(一) 底层修改同义词典synonyms.txt未生效,将同义词加到分词器也未生效