【Linux命令】nohup命令
nohup命令
不挂断的运行,它会使您的脚本被忽略SIGHUP
,并重定向stdout/stderr
到一个文件nohup.out
,以便在您注销后该命令可以在后台继续运行。
1)语法
1 nohup Command [ Arg ... ] [ & ]
2)功能
nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
3)补充
操作系统的三个常用流:
0:标准输入流 stdin
1:标准输出流 stdout
2:标准错误流 stderr
SIGHUP 信号:
终端关闭时:该信号被发送到session首进程以及作为jobs提交的进程(即用&符号提交的进程)
session首进程退出时:该信号被发送到该session中的前台进程组中的每一个进程
若父进程退出导致进程组成为孤儿进程组,该进程组中有进程处于停止状态(收到SIGSTOP
或SIGTSTP
信号),该信号会被发送到该进程组中的每一个进程。
例如:在我们登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都属于这个 Session。当用户退出Linux登录时,前台进程组和后台有对终端输出的进程将会收到SIGHUP
信号。这个信号的默认操作为终止进程,因此前台进程组和后台有终端输出的进程就会中止。
4)实例
运行某个脚本,退出登录后继续在后台运行
1 nohup ./test.sh >output 2>&1 &
解释:
1. 带&的命令行,即使terminal(终端)关闭,或电脑死机程序依然运行;
5)相关命令
jobs:
可以打印当前正在运行的作业及其状态。如果命令jobs
找不到它,那么它不再是该shell的子进程。( jobs 查看后台运行的进程 )
fg(Foreground):
即使运行后,也可以使用bash将后台作业带回前台nohup
。但这不会改变输出重定向,它仍将转移到文件中nohup.out
。(fg %n 让后台运行的进程n到前台来 )
bg %n 让进程n到后台去(Background);
PS:"n"为jobs查看到的进程编号.
参考网站:https://yq.aliyun.com/articles/704932
参考网站:https://www.cnblogs.com/xiaoleiel/p/8349675.html
原文地址:https://www.cnblogs.com/HeiDi-BoKe/p/11422599.html
- Linux性能分析工具与图形化方法
- MySQL和Oracle中的隐式转换(r6笔记第45天)
- R语言的数据导入与导出(write.table,CAT)
- gqlplus的简单使用(r6笔记第43天)
- Java基础-21(01)总结字符流,IO流编码问题,实用案例必做一遍
- zabbix中配置dg的监控(r6笔记第62天)
- Apache ActiveMQ 远程代码执行漏洞 (CVE-2016-3088)分析
- mysql5.5与mysq 5.6中禁用innodb引擎的方法
- 缓慢的update语句性能分析(r6笔记第61天)
- 一个dg警告发现的硬件问题 (r6笔记第60天)
- mysql几种存储引擎介绍
- Java基础-21(02)总结字符流,IO流编码问题,实用案例必做一遍
- DeDeCMS v5.7 密码修改漏洞分析
- Java基础-20(01)总结,递归,IO流
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Saltstack_使用指南10_配置管理-状态模块
- Saltstack_使用指南11_配置管理-状态之间依赖关系 4.1. 部署架构4.2. Apache和PHP的SLS【正向依赖】4.3. mariadb 的 SLS
- 前端工程化之CICD那点破事
- Saltstack_使用指南12_配置管理-jinja模板 4.1. 部署架构4.2. 本章涉及的 pillar 的信息4.3. 配置文件 httpd.conf 修改
- Saltstack_使用指南13_runner的job和manage与execution的saltutil 5.1. master执行5.2. 查看当前活动的jobs
- Saltstack_使用指南14_无master 3.1. 常规信息3.2. grains设置3.3. pillar设置
- 在CDH7.1.1中安装NiFi
- 重学前端(三)-聊聊我们的浏览器的那些事
- Saltstack_使用指南15_多master 3.1. 创建冗余的master3.2. 拷贝主master的key和配置到冗余的master3.3. 启动冗余ma
- Saltstack_使用指南16_syndic 3.1. 部署salt-master3.2. 其他配置与部署4.1. 部署salt-syndic4.2. syndic
- Centos7安装单机版MongoDB
- Saltstack_使用指南17_salt-ssh
- Saltstack_使用指南18_API
- Centos7安装单机版Redis
- Vue3 Composition-Api + TypeScript + 新型状态管理模式探索。