Centos7 后台执行(nohup命令)

(十四)Linux系统运维-进程管理 (十四)Linux系统运维-进程管理w(who查看用户信息)PS(查看进程)KILL(杀死进程)nice renice(指定运行优先级)top (动态显示进程信息)nohup(后台执行)进程的挂起和恢复 我的系统版本为CentOS7.5 inti进程是一切进程的父进程,在centos7下systemd取代了inti,如下 w(who查看用户信息) 字段 含义 USER 登录的... 阅读详情
nohup命令详解

nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

nohup 是 no hang up 的缩写,就是不挂断的意思。

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。

案例
nohup 命令 > file.log 2>&1 &   

在上面的例子中:

0 – stdin (standard input) 标准输入
1 – stdout (standard output) 标准输出
2 – stderr (standard error) 标准错误输出

2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到myout.file文件中。

 0 9 * * * /usr/bin/python3 /opt/getFile.py >  /opt/file.log 2>&1

这是放在crontab中的定时任务,每天9:00启动这个python的脚本,并把执行结果写入日志文件file.log中

nohup和&的区别

& : 指在后台运行

nohup : 不挂断的运行,注意并没有后台运行的功能,,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行

&是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出

我们只需要把他们结合起来使用
nohup 命令 &
这样就能使命令永久的在后台执行

有一个需求,执行一个python脚本,并交给后台执行,将输出结果存储到一个日志文件中,以便后续故障排除及查看
执行命令:

 nohup python3 ../getFile.py > file.log 2>&1 &

发现日志文件里为空,并没有将结果存储进去
在这里插入图片描述
在这里插入图片描述
试了很多方法,都不管用,最后在网上看到一种方法,是由于python缓存的问题导致的

python的输出有缓冲,导致out.log并不能够马上看到输出

-u 参数,可以使python不启用缓冲

如果权限不够的话就

 nohup python3  -u  ../getFile.py > file.log 2>&1 &

在这里插入图片描述

最后的 & 表示在后台运行

2 表示输出错误信息到提示符窗口

1 表示输出信息到提示符窗口,1前面的&要注意添加,否则还会创建一个名为 1 的文件

最后会把日志文件输出到 file.log 文件

此时日志文件已有数据:
在这里插入图片描述

查看后台python进程:

ps -aux | grep python3
或
jobs

在这里插入图片描述
在这里插入图片描述

杀死后台进程

kill -9 进程id
或
kill -9 %任务id
或
pkill -9 进程名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2>&1的问题

command >out.file 2>&1 &

command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中
2>&1 是将标准错误重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中

试想2>1代表什么,2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出;

换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

不输出文件
nohup python3 getfile.py  > /dev/null 2>&1 & 

输出文件
nohup python3 getfile.py  > test.log 2>&1 & 

参考链接:
https://blog.youkuaiyun.com/qq_31279347/article/details/82818940
https://blog.youkuaiyun.com/qq_31821675/article/details/78246808
https://blog.youkuaiyun.com/wangshu_liang/article/details/84027148
http://www.itkeyword.com/doc/9163983046949716854/python-u-linux

centos中nohup和&后台运行任务,进程查看及终止 1、nohup 用途:不挂断地运行命令。我们在使用Xshell等工具执行Linux脚本时,有时候会由于网络问题,导致失去连接,终端断开,程序运行一半就意外结束了。这种时候,就可以用nohup指令来运行指令,使程序可以忽略挂起信号继续运行。 语法:nohup Command [ Arg … ] [ & ]   无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 n... 阅读详情

相关推荐

运维系列【仅供参考】:Centos7 后台执行(nohup命令)

Centos7 后台执行(nohup命令)

weixin_54626591的博客 280

CentOS下nohup命令

nohup 命令:由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断SIGHUP信号。 如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

weixin_44153121的博客 1万+

浅谈Android MVI架构---大自然的搬运工~~~

浅谈 Android MVI架构

hong_world的博客 2155

在CentOS中使用nohup命令,以及一些常用的操作

nohup命令在CentOS中是一个非常有用的工具,它可以让你在后台运行进程,并且不会因为关闭终端窗口而被终止。在本文中,我们介绍了如何使用nohup命令来后台运行进程、退出终端窗口后继续运行进程、查看正在运行的进程、杀死进程以及查看进程日志。在linux中,nohup是一个非常有用的命令,它可以让你在后台运行进程,并且不会因为关闭终端窗口而被终止。在CentOS中,你可以使用nohup命令来后台运行进程。如果你使用nohup命令启动了一个进程,在退出终端窗口后,进程将会被终止。其中1234是进程ID。

weixin_47831992的博客 2015

uniapp 实现RFID识别的实战指南

本文提供了在uniapp中实现RFID识别的完整实战指南。核心在于通过Android系统广播机制,利用uni-app的plus对象调用原生接口,完成与RFID手持设备的“软硬件握手”。文章详细介绍了从环境准备、设备选型、核心代码实现到避坑优化的全流程,帮助开发者快速构建高效的RFID盘点或管理应用。

weixin_29161719的博客 405

如何评估一颗 AI 芯片的真实性能?TOPS、FPS 与 Token/sec 全解析

AI 芯片在实际部署中,其理论峰值性能往往无法反映真实执行效率。如何科学评估一颗 AI 芯片的“真实性能”,已成为芯片选型与系统集成环节中的关键技术问题。本文从工程实战角度出发,深入拆解当前常用性能评估指标(TOPS、FPS、Token/sec)背后的定义逻辑与使用陷阱,并结合推理模型部署与执行路径,系统讲解 AI 芯片在不同场景下的性能验证方法。通过对芯片算力-功耗-调度三维关系的分析,读者将掌握评估一颗 AI 芯片是否“跑得动业务”的核心判断能力。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3393

centos后台运行使用nohup命令

首先,您需要找到 nohup 运行的进程的进程ID(PID)。例如,如果您的命令是 nohup ./my_script.sh &,您可能需要找到名为 my_script.sh 的进程。nohup 命令用于在用户注销系统后继续运行指定的命令。如果您想关闭使用 nohup 运行的进程,您可以使用 kill 命令。请注意,强制杀死进程可能导致数据丢失或者其他问题,只有在确保不会影响系统稳定性的情况下才这样做。其中 PID 是您找到的进程ID,-9 参数用于强制杀死进程。nohup命令运行后如何关闭。

tiging的博客 1148

英飞凌TC3XX芯片---------CAN模块详解

CAN 总线是一种广泛应用于汽车、工业控制和其他领域的串行通信协议,CAN 英文名称:Controller Area Network。最初由德国的 Bosch 公司开发,用于汽车电子系统之间的通信。CAN 总线具有高可靠性、抗干扰能力强和实时性好等特点,因此被广泛应用于需要可靠数据传输的领域。CAN2.0B 协议中的 CAN 最多支持 29 位 ID,但是网络架构中使用的一般是 11 位的标准帧 ID。如下图是标准 CAN FD 帧数据结构:关于 CAN 协议相关内容,本文不作阐述。

sky的博客 3669

在centos后台运行python程序(nohup)

在服务器上,为了退出终端,程序依然能够运行,需要设置程序在后台运行。 关键的命令:nohup *基本用法: 进入要运行的py文件目录前 nohup python -u test.py > test.log 2>&1 & *含义解释: nohup不挂起的意思 python test.py python运行test.py文件 -u ...

西门大盗 捉虫专家 8988

Esp32蓝牙Hid调用方案 http执行设备、鼠标、键盘相关操作

本文主要介绍 Esp32 蓝牙 Hid 相关的多种操作方式,详细的设备、鼠标、键盘相关操作的 http 调用方法。下面是整理出的所有 http 调用方法和 rhino 引擎方式。本机调用的话直接使用http://localhost:8080 如果是局域网调用则使用软件里的地址 比如我的是http://192.168.1.5:8080。文件地址: https://www.123865.com/s/Qtm4jv-xyZbd?使用前需要一块烧录好的ESP32板子并在手机安装好embedded软件用于蓝牙通信。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 569

单光子雪崩二极管(SPAD):原理、极高增益机制与微光探测解析

本文系统阐述了单光子雪崩二极管(SPAD)的工作原理及其在弱光探测中的应用。SPAD通过工作在盖革模式下的碰撞离化效应实现单光子探测,其核心机理包括:1)采用p+-n-n+结构实现高电场分布;2)通过雪崩倍增过程获得10^6量级增益;3)采用主动/被动淬灭机制实现快速恢复。文章详细分析了SPAD的关键性能参数(如光子探测效率、暗计数率等)及其在量子通信、激光雷达等领域的应用优势,揭示了该器件在极微弱光信号探测中的独特价值。

Fun_LiDAR的博客 1043

Centos7 后台执行(nohup命令)并将输出存储到文件中

转载 https://blog.youkuaiyun.com/z_ipython/article/details/93744435

lingle1的博客 1100

特殊通信领域场景应用:基于Simulink的数字预失真(DPD)算法仿真建模示例

增益压缩:高功率输入时输出信号的增益下降。相位失真:输入信号的相位随功率变化而改变。带外干扰:非线性失真会引入额外的频谱分量,影响邻道信号。多项式模型:用多项式拟合功率放大器的非线性特性。查找表(LUT):通过离线训练生成预失真映射表。自适应算法:实时调整预失真参数以动态补偿失真。发送端:生成随机比特流并调制为射频信号。预失真模块:对输入信号进行预失真处理。功率放大器模块:模拟非线性失真。接收端:解调信号并评估误码率(BER)。

xiaoheshang_123的博客 273

centos7开机自启动java脚本

方法一:(rc.local) 1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限 假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr/local/script/autostart.sh 3、打开/etc/rc.d/rc.local文件,在末尾增加如下内容 /usr/local/script/a

b_just的博客 1118

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Centos7常用命令总结

防火墙 1.使用lsof 命令 说明 lsof -i:端口号 查看某个端口是否被占用 2.使用netstat 命令 说明 netstat -anp grep 80 查看某个端口(80)是否被占用 netstat -anp grep ssh 查看ssh进程的端口情况 例如:netstat -anp | grep 8080 tcp6 0 0 :::8088 ::???? LISTEN

weixin_38924500的博客 293

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Linux(CentOS7)后台运行程序关掉窗口不被杀掉

目录后台运行命令查看所有后台进程结束进程 前言: 下面操作都是基于 CentOS7 操作的 后台运行命令 nohup 执行脚本或者执行命令 > 日志的输出路径 & 注意:日志文件不需要提前创建(自动创建),但是目录一定是存在的目录才行(不会自动创建) 脚本执行 # 创建 app.jar.sh 文件并写入命令 echo "java -jar app.jar" >> app.jar.sh # 执行脚本 nohup ./app.jar.sh > app.jar.log

weixin_44953227的博客 9732

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

CentOS 后台运行 Python 程序记录

CentOS 后台运行 python 程序(nohup)

qq_37195375的博客 864

Linux处理启动程序后,程序占用控制台,处理程序后台运行nohup

我们在Linux下启动项目程序,会发现程序运行后,占用了我们的控制台,导致无法输入命令 我们可以使用 nohup 命令 : nohup ./xxx.sh & 在后台执行 xxx.sh 脚本 输入命令之后,脚本会在后台运行,如果启动程序之后,程序无法访问,可以输入 systemctl stop firewalld 关闭防火墙,此命令是针对 CentOS7操作系统的,如果你是 CentOS6的话,需要输入 service iptables stop 关闭。 ...

weixin_43865008的博客 955

linux jar 包运行与关闭

一些简单的操作linux jar包命令 1、执行jar包的命令和在windows操作系统上是一样的,都是java -jar xxxx.jar。 2、将jar程序设置成后台运行,并且将标准输出的日志重定向至文件consoleMsg.log。 nohup java-jar getCimiss-surf.jar>consoleMsg.log2>&1& 3、如果...

fujianmin19910915的博客 554

java在linux上打包发布,SpringBoot打包发布到linux上(centos 7)的步骤

打包发布jar包部署相对较为简单,尤其是在分布式服务比较多的情况下。单体项目如果是单体项目,只需要找到maven的插件,点击package运行。注意是lifecycle下的插件,“plugins”下的插件不一定有用。打包完了后,去target包下找到自己的jar包。如果你的项目交给git管理,并且在idea里配置过部分文件忽略不提交,那么很有可能已经被你隐藏起来了。右击项目,选择show in e...

weixin_34173220的博客 206

SpringBoot打包发布到linux上(centos 7)的步骤

打包发布 jar包部署相对较为简单,尤其是在分布式服务比较多的情况下。 单体项目 如果是单体项目,只需要找到maven的插件,点击package运行。注意是Lifecycle下的插件,“Plugins”下的插件不一定有用。 打包完了后,去target包下找到自己的jar包。如果你的项目交给git管理,并且在idea里配置过部分文件忽略不提交,那么很有可能已经被你隐藏起来了。 右击项目,选择show in explorer,在win10的文件管理器里就可以看到target了 多模块项目(分布式) 如果项目

p1830095583的博客 322

Linux执行python文件(centos7+python2.7)

Linux执行python文件,本实例操作环境说: Linux服务器安装centos7.*版本 python版本是2.7 执行python文件步骤如下: 确定python安装路径:执行命令(which python) 备注: 执行(whereis python )查询全部python路径 执行python文件首行添加pyhton绝对路径(根据上1获取实际),具体格式:(#! /usr/bin/python) 执行python文件:python test.py python文件服务后端

lbc320723的博客 5395

linux快速部署SpringBoot服务(非docker)

前提linux系统已经装好了java环境;

Good Luck 632

linux后台执行命令:&和nohup

当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨)。为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。 & 当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上& 实现后台运行。例如:sh t...

zzcchunter的专栏 322
上一篇: Centos7切换终端的方式
下一篇: Navicat无法连接centos7数据库mariadb的解决办法
孜孜孜孜不倦
博客等级 码龄7年 1803粉丝 277原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值