IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux:使进程在后台运行的应用场景及多种方法 -> 正文阅读

[系统运维]Linux:使进程在后台运行的应用场景及多种方法

来思考几种场景:

1.某个脚本需要执行时间比较长,无人值守,可能执行过程因ssh会话超时而中断?
2.某次测试一段代码,需要临时被放入后台运行?
3.已经调起作业后,发现没有将作业放入到后台执行,如何补救?
4.需要在后台运行大量脚本,如何管理?

解决思路:

当终端关闭或网络断开后,当前终端中运行的进程就会收到SIGHUP(终止信号),终端关闭,终端进程下的所有子进程也会关闭。为此,我们可以考虑:
(1)有没有方法让运行中的进程不再收到SIGHUP信号
(2)有没有方法让运行中的进程独立存在,不属于当前终端的子进程

方法:

1. & :让命令后台运行

sh test.sh >test.log& --‘&’将命令放入后台执行

2. nohup:让提交的命令忽略hangup(挂起)信号

例如:test.sh 为执行的脚本,test.log为输出信息的地方

nohup sh test.sh >>test.log   --标准输出和标准错误缺省会被重定向到test.log中

注意:
(1)该命令如果需要和用户交互,就不能放在后台执行,因为这样命令会卡在交互的地方。
(2)使用“&”命令后,作业被提交到后台运行,当前终端/控制台没有被占用,但是一旦把当前终端关掉(退出当前帐号时),提交的作业就会被停止运行,而nohup命令可以在退出账号后继续运行相应的进程

3. disown

如果我们已经提交的命令未加任何处理,如果补救才能让它避免Hangup信号的影响呢,这时想加nohup为时已晚,只能通过作业调度和disown来解决这个问题

disown -h :使某个作业忽略Hangup信号
disown -ah :使所有作业都忽略Hangup信号
disown -rh :使运行的作业忽略Hangup信号
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-16 12:07:58  更:2021-08-16 12:09:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:36:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码