nohup 、&、 2>&1 命令分析
nohup的意思是不间断的运行,&的意思是后台运行,2>&1的意思是标准输出和错误输出都重定向到同一个文件。
简单地说nohup运行时即使关掉控制台,它该运行还是运行。
https://blog.csdn.net/liuyanfeier/article/details/62422742讲解的比较透彻,我给他做一点补充
可以参考https://www.jianshu.com/p/747e0d5021a2
nohup 命令分析
先假设一个情况,想要后台运行一个命令怎么办?最好的办法是用&
,在命令的结尾加一个&
就可以在后台运行了。
&
实例解析
假设有一个python程序叫做123.py
代码是这个样子,一直去输出一些东西。
import time
a = 1
while True:
print("start to print sth")
a+=1
print("a=%s" %(a))
time.sleep(2)
如果运行它的话需要python3 123.py
,可以把正确的内容重定向到log.txt。这个时候命令就是
python3 123.py > log.txt
- 运行后,控制台一直是这个样子,无法进行其他的操作。
su@DESKTOP-FA1P4IO:~$ python3 123.py >> log.txt
- 后面加一个
&
后就可以进行操作别的东西了。
suyuesheng@DESKTOP-FA1P4IO:~$ python3 123.py >> log.txt &
[2] 809
suyuesheng@DESKTOP-FA1P4IO:~$
但是关闭控制台后,即使python3 123.py >> log.txt &
后面有&
依然会被终止进程。
因为关闭终端后会收到挂断信号。nohup就不会收到挂断信号。
nohup正如名字所声称的,忽略所有发送给子命令的挂断(SIGHUP)信号。
这样所有发给命令的SIGHUP信号都被忽略,命令就不会收到SIGHUP信号。
什么是SIGHUP信号呢?
简单的理解可以是终端结束时,操作系统会发送SIGHUP信号到后台进程。
- 用nohup是这个样子的
su@DESKTOP-FA1P4IO:~$ nohup python3 123.py >> log.txt &
[3] 905
nohup 、&、 2>&1 命令分析的更多相关文章
- MySQL中使用SHOW PROFILE命令分析性能的用法整理(配合explain效果更好,可以作为优化周期性检查)
这篇文章主要介绍了MySQL中使用show profile命令分析性能的用法整理,show profiles是数据库性能优化的常用命令,需要的朋友可以参考下 show profile是由Jerem ...
- nohup: 无法运行命令"java": 没有那个文件或目录
问题 在一个Linux服务器上有shell 脚本如下: nohup java -jar test.jar >> ./nohup.out 2>&1 & 直接执行脚本 s ...
- 利用shell命令分析服务器日志
在没有专业日志分析系统的情况下,我们有时需要对日志进行简单的分析,下面列出一些常用的shell命令分析日志的方法,一定要收藏 1.查看有多少个ip访问 awk '{print $1}' log_f ...
- linux日常常用命令分析
日志处理: 测试网络路由: xargs使用方法: tcpdump命令分析: dd 写入磁盘测试 cpu个数: 查看网卡流量 查看端口联通情况,临时加端口 ntpdate同步: 可以取出变动的密码: 导 ...
- ffmpeg 转码并截图的命令分析
一.转码并截图的命令分析: 1.转码并截图,将码率转换为900Kffmpeg -i E:\\1.MOV -i E:\\123.jpg -filter_complex overlay=W-w -b:v ...
- stress施压案例分析——cpu、io、mem【命令分析】
stress施压命令分析 一.stress --cpu 1 --timeout 600 分析现象?负载为啥这么高?top命令查看用户进程消耗的cpu过高(stress进程消耗的) 分析现象,可以看出 ...
- 使用 Shell 命令 分析服务器日志
文章转载自:https://mp.weixin.qq.com/s/z2qF571m4JSSVi59D7V71g 1.查看有多少个IP访问: awk '{print $1}' log_file|sort ...
- [转] Oracle analyze 命令分析
转自:http://blog.sina.com.cn/s/blog_682841ba0101bncp.html 1.analyze table t1 compute statistics for ta ...
- nohup启动java命令导致dubbo无法注册
没有任何异常,日志和正常注册日志一模一样,但服务就是没注册成功. 解决办法,screen代替nohup命令. screen screen -ls screen -r pid (ctrl + a)+d
随机推荐
- Android Studio 之 控件基础知识
1. TextView 和 EditText 控件常用属性 android:layout_width="match_parent" 宽度与父控件一样宽 android:layou ...
- visual studio code 执行 sp1 文件
需要安装插件PowerShell 如提示 Unsupported PowerShell version 2.0, language features are disabled (不支持的PowerS ...
- Haskell-chp01
-- 函数名首字母必须小写,可以包含 '来表示该函数严格求值版本(与惰性求值相对) doubleMe x = x + x doubleUs x y = doubleMe x + doubleMe y ...
- CountDownLatch源码
public class CountDownLatchExample1 { public static void main(String[] args) throws Exception { Exec ...
- Android集成C程序访问驱动设备节点
1.前言 Android系统中,应用程序一般是使用Java语言进行开发的,但是通过C语言也可以进行Android中的可执行程序开发,接下来,将简单介绍在Android系统中如何通过C程序来访问内核中s ...
- 基于springboot的flowable工作流实例实现
基于springboot的flowable工作流实例实现 flowableUI 创建实例教程 https://www.cnblogs.com/nanstar/p/11959389.html Flowa ...
- ES6高级技巧(二)
Array.from const cities = [ { name: 'Milan', visited: 'no' }, { name: 'Palermo', visited: 'yes' }, { ...
- KB,MB,GB,TB,PB,EB,ZB,YB,BB
1 Bit = Binary Digit 8 Bits = 1 Byte 1024 Bytes = 1 Kilobyte 1024 Kilobytes = 1 Megabyte 1024 Megaby ...
- [转帖]kubernetes 常见问题整理
kubernetes 常见问题整理 https://www.cnblogs.com/qingfeng2010/p/10642408.html 使用kubectl 命令报错 报错: [root@k8s- ...
- [SOJ #686]抢救(2019-11-7考试)/[洛谷P3625][APIO2009]采油区域
题目大意 有一个\(n\times m\)的网格,\((x,y)\)权值为\(a_{x,y}\),要求从中选取三个不相交的\(k\times k\)的正方形使得它们权值最大.\(n,m,k\leqsl ...