Linux学习笔记:nohup & 后台任务
在linux中,使用nohup xxx.sh &可以将前台任务变成后台任务执行,如果只使用&的话,在突然断网或者关闭启动终端时,内核会向后台任务发送sighup信号,从而导致后台任务停止,此时,使用nohup命令可以忽略hangup信号,使得后台任务继续执行。注意,nohup不会自动将任务挂在后台运行,需要配合&进行说明。
- 如果nohup命令的标准输入是终端,那么nohup将会默认使用/dev/null来重定向。
- 如果nohup命令的标准输出是终端,那么标准输出会被附加到文件
nohup.out
中;如果用户没有在当前目录创建文件的权限,那么就会把输出附加到$HOME/nohup.out
中;如果还是没有写入权限,那么该命令就不会执行。 - 如果nohup命令的标准错误是终端,那么就会被定向到标准输出的附加的文件描述符。如果标准输出被关闭了,那么标准错误就会像上面一样尝试附加到
nohup.out
或$HOME/nohup.out
中。
测试:
新建一个脚本:打印一个数字,删除一个不存在的文件。
# vi nohup_tes.sh
for i in `seq `;
do echo $i;
rm a.txt;
sleep 0.5;
done
后台执行该任务
nohup sh nohup_test.sh &
# nohup: appending output to “nohup.out”
在上面执行的命令中,由输出可知,标准输出被重定向到nohup.out中,查看下该文件。
# cat nohup.out rm: 无法删除 “a.txt”: 没有那个文件或目录 rm: 无法删除 “a.txt”: 没有那个文件或目录 rm: 无法删除 “a.txt”: 没有那个文件或目录 rm: 无法删除 “a.txt”: 没有那个文件或目录
该文件包含了命令的标准输出和标准错误输出。
重定向标准输出
nohup sh nohup_test.sh >o.out &
在上面执行的命令中,标准输出被重定向到stdout中,而标准输出又重定向到了o.out中。
# head o.out rm: 无法删除 “a.txt”: 没有那个文件或目录 rm: 无法删除 “a.txt”: 没有那个文件或目录 rm: 无法删除 “a.txt”: 没有那个文件或目录 rm: 无法删除 “a.txt”: 没有那个文件或目录
该文件包含了标准输出和标准错误输出。
重定向标准输出、标准错误输出
nohup sh nohup_test.sh >o.out >e.out &
查看输出文件
# head o.out # head e.out
rm: 无法删除 “a.txt”: 没有那个文件或目录
rm: 无法删除 “a.txt”: 没有那个文件或目录
rm: 无法删除 “a.txt”: 没有那个文件或目录
rm: 无法删除 “a.txt”: 没有那个文件或目录
shell脚本中执行nohup的问题
如果我们在shell中执行nohup命令,并且没有进行任何重定向,那么终端上就会弹出“nohup: ignoring input and appending output to ‘nohup.out’”,并且,只有敲击回车,shell才能继续执行,否则就会卡住。
只要重定向了标准错误输出,终端就不会弹出任何提示,也不会卡住。但是标准错误附加的文件会出现其他的错误提示,只有重定向所有标准输入、标准输出和标准错误输出后,不会有任何错误提示。如:
nohup sh nohup_test.sh >out.log >& </dev/null &
其他:
- 使用job查看任务
- 使用fg %n关闭任务
另外2个常用ftp工具:
- ncftpget:后台ftp下载
- ncftpput:后台ftp上传
END 2018-08-22 11:24:50
Linux学习笔记:nohup & 后台任务的更多相关文章
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
- linux学习笔记2-linux的常用命令
第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...
- Linux学习笔记(一)2015.4.13
研究生由单片机转Linux学习 首先安装VMware虚拟机,用的是VMware 10.0 在VMware 10.0上安装视频上推荐的Red Hat Linux 5 安装后正式进入Linux学习 笔记1 ...
- 20160127 linux 学习笔记
Linux学习笔记第一天 Linux基本介绍 Linux的起源和发展: 简单说linux是一种操作系统,可以安装在包括服务器.个人电脑,乃至PDA.手机.打印机等各类设备中. 起源: Linux起源于 ...
- linux —— 学习笔记(汇总)
笔记目录:一.系统知识 和 基本概念 二.常用操作 三.系统管理(内存.设备.服务等管理) ...
- Linux学习笔记-林耐斯Notes-Linux就该这么学
Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...
- Linux~学习笔记目录索引
回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...
- deepin linux学习笔记(四)进不去图形界面怎么办?
目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...
- deepin linux 学习笔记(二)——文本编辑器
目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...
- deepin linux学习笔记
目录 deepin linux学习笔记 前言 linux常用命令 ls 显示文件夹内容 cd 切换当前目录 pwd 查看当前工作目录 mkdir 新建文件夹 rm 删除文件或文件夹 mv 移动文件 c ...
随机推荐
- Chapter1(预科)--C++Prime笔记
心得体会: 因为之前一直在用在学C,因此在看完C++Prime第一章后,就有中在一个培训班中,一个老师用一个简单的项目来带你了解这种语言的特性的感觉.当然这个告诉是在让你脑子固化接受一些点的前提下. ...
- 百度语音合成 composer
https://packagist.org/packages/jormin/baidu-speech http://ai.baidu.com/docs#/TTS-Online-PHP-SDK/top
- python set() 集合的添加删除、交集、并集、差集、交叉补集、集合的方法介绍以及使用案例
可变不可变: 1.可变:列表.字典.例如列表类型是可变的,我修改了列表中的元素的值,但是列表本身在内存中的地址是没有变化的,所以列表的元素是可以被改变的 >>> name=[&quo ...
- VS2015调用matlab Plot函数
最近经常采用Matlab仿真,然后C语言实现,最后需要将计算结果使用Qt的qwt或者matlab中的plot函数绘图. 因此想借用matlab的plot函数接口,使用VS2015来编写信号处理代码,最 ...
- 科学计算三维可视化---Traits介绍
简介 Traits是开源扩展库,Traits本身与科学计算可视化没有直接关联,但他其实TVTK,Mayavi,TraitsUI基础 安装: pip3 install traits--cp36-cp36 ...
- NCPC2016-A-ArtWork
题目描述 A template for an artwork is a white grid of n × m squares. The artwork will be created by pain ...
- jdk1.8.0_45源码解读——ArrayList的实现
jdk1.8.0_45源码解读——ArrayList的实现 一.ArrayList概述 ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包括 null 在内的所有元素. ...
- 在WindowsServer2008服务器上安装SQLServer2008R2 Express版
登录服务器 使用远程桌面登录Windows Server 2008 安装前的准备工作 下载SQL Server安装程序 下载Microsoft SQL Server2008 R2 RTM - Ex ...
- [转载]代码编辑器Sublime Text 3 免费使用方法与简体中文汉化包下载
http://devework.com/sublime-text-3.html Sublime Text这款代码编辑器是Jeff 一直都在使用的,前段时间转用到版本3,因为感觉Sublime Text ...
- ashx误删后,未能创建类型
描述 今天,因为临时有事儿,需要去一趟其他城市,项目比较赶.所以只能在车上继续敲代码,倒霉的触摸板让我误删一个ashx一般处理程序.好死不死的这个文件的代码还很长. 我的做法是[垃圾桶]→[还原]→V ...