nohup 命令的功能是在不挂端的情况下执行命令,默认会输出一个 nohup.out 的文件。

用法:

nohup COMMAND [ARG]...

nohup OPTION

如果标准输入是终端,则将其从不可读的文件中重定向。 如果标准输出是终端,则尽可能将输出附加到“nohup.out”,否则附加到“$HOME/nohup.out”。 如果标准错误是终端,则将其重定向到标准输出。 要将输出保存到 FILE,请使用“nohup COMMAND > FILE”。

选项

--help        帮助文档

--version        版本信息

使用示例:

写一个实例脚本,每一秒输出一个数字,数字自动增加:

# cat nohuptest.sh
#!/bin/bash
count=0
while [[ $count -lt 10000 ]]
doecho $countsleep 1((count++))
done

首先在前台执行一下,看看是什么效果:

# sh nohuptest.sh
0
1
2
3
4
5
^C

在 linux 系统中,^C(Ctrl + C)发出的是 SIGINT 信号,可以终止进程,更多关于信号的内容,请看linux 命令:kill 详解_yspg_217的博客-CSDN博客

在接收到 SIGINT 信号后,前台执行的进程立刻就终止了。

下面用 nohup 试一下:

# nohup sh nohuptest.sh
nohup: ignoring input and appending output to ‘nohup.out’^C
# cat nohup.out
0
1
2
3
4
5# ps -ef | grep nohup
#

如果使用 nohup 接启动命令,虽然输出是从终端转到了 nohup.out 中,但是前台还是被占用,无法执行其他操作。但是在操作了 ^C 后,虽然可以进行其他操作,进程也停止了。

# nohup sh nohuptest.sh &
[1] 9153
# nohup: ignoring input and appending output to ‘nohup.out’# cat nohup.out
0
# cat nohup.out
0
1
# cat nohup.out
0
1
2
...# ps -ef | grep nohup
root      9153  6178  0 14:38 pts/0    00:00:00 sh nohuptest.sh

使用 & 后,输出一个进程ID,进程在后台执行,前台不受影响。查看 nohup.out 文件,发现数字在逐渐增加。

# nohup sh nohuptest.sh > /dev/null &
[1] 10334
# nohup: ignoring input and redirecting stderr to stdout# cat nohup.out
#

可以把输出重定向到 /dev/null,/dev/null 是一个黑洞,重定向到它的数据都会被扔掉。查看 nohup.out,发现是空文件。

linux 命令:nohup 详解相关推荐

  1. Linux命令-ls详解

    Linux命令-ls详解(适合小白用户参考) 1.ls        不加任何参数,表示查询当前目录下的文件/文件夹 小提示:上面的白色文字表示普通文件,蓝色文字表示目录 2.ls        后面 ...

  2. 面试官都在问 | Linux命令mpstat详解

    面试官都在问 | Linux命令mpstat详解 1. mpstat的基本用法 mpstat的全称为Multiprocessor Statistics,是一款常用的多核CPU性能分析工具,用来实时查询 ...

  3. linux 命令 curl 详解

    一.curl 介绍 curl是一个命令行访问URL的计算机逻辑语言的工具,发出网络请求,然后得到数据并提取出,显示在标准输出stdout上面; 可以用它来构造http request报文,curl(C ...

  4. linux命令 正则表达式,详解Linux命令中的正则表达式

    详解Linux命令中的正则表达式 Mark Do 2017年9月19日 暂无评论 阅读 981 次 命令中的正则表达式 如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式.正则表达式 ...

  5. LINUX命令大全详解备忘录

    文件目录操作命令 ls命令 cd命令 pwd命令 mkdir命令 rm 命令 rmdir 命令 mv命令 cp 命令 touch 命令 cat 命令 nl命令 more命令 less 命令 head ...

  6. Linux命令大全详解,让我们轻松入门学习Linux!

    1.最基本常用命令 序号 命令 对应英文 作用 01 ls list 查看当前文件夹下的内容 02 pwd print wrok directory 查看当前所在文件夹 03 cd [目录名] cha ...

  7. linux命令历史详解

    概念:顾名思义,我们在linux终端输过的命令,系统都会将他们加载到内存中,以便我们快速调用命令.另外,Bash拥有自动记录命令历史的功能,用户所执行的命令会在注销时自动记录到自己的家目录下的.bas ...

  8. linux命令——ll详解

    一.ll命令 ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名. Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是很方便. 如果要使用此命令,可以作如下修改: ...

  9. Linux命令lsscsi详解

    @ 一.什么是scsi 二.常见硬盘接口 1. IDE接口的硬盘 2. SCSI接口硬盘 3. SATA接口类型 三. lsscsi命令 1. lsscsi 命令安装 2. lsscsi命令英文手册 ...

  10. linux命令ps详解

    原文地址:http://apps.hi.baidu.com/share/detail/32573968 名称:ps 使用权限:所有使用者 使用方式:ps [options] [--help] 说明:显 ...

最新文章

  1. DPM2012保护sharepoint场
  2. 前端学习(2053)vue之电商管理系统电商系统之使用pm2管理
  3. STM32的PA15、PB3、 PB4管脚作普通管脚的解决办法
  4. 【OpenCV】OpenCV实战从入门到精通之 -- 图像对比度、亮度值调整
  5. java的一些小知识总结
  6. ubuntu14操作系统chrome标签和书签乱码解决
  7. impala查询数据与hive的查询数据比对(数据的校验)
  8. 最新搜索引擎网站提交登录入口和收录入口大全
  9. arcgis水文分析_值得收藏!用DEM做水文分析前,你还需要储备的知识
  10. Confluence 6 重新获得附件指南
  11. 【计算机考研408强化-操作系统】1. 操作系统的基本概念
  12. 怎样启动模拟器模拟鸿蒙系统,鸿蒙OS 模拟器运行
  13. 使用ls筛选某一天的文件
  14. July 16th 模拟赛C T4 奶牛排队 Solution
  15. 北工大2014c语言真题及答案新课标,北京工业大学2006--2007学年《面向对象程序设计》期末考试题及答案...
  16. Qt:图标刷新自动旋转
  17. Gcc编译过程和C语言内存管理
  18. js怎么实现对html代码加密解密,JS实现Base64加密解密
  19. 计算机网络基础知识--TCP/IP协议、IP分组、TCP传输
  20. MyBatis的关联映射之 一对一(嵌套查询/嵌套结果)

热门文章

  1. 系泊系统 matlab 代码,系泊系统的设计
  2. 未解决:关于下载的ipython notebook打开的时候遇到问题的解决方法: NotJSONError(“Notebook does not appear to be JSON
  3. python新浪api_python编程之API入门: (二)python3中使用新浪微博API
  4. android最低版本+黑域,免root版黑域
  5. iPhone苹果手机iOS14更新升级到iOS15需要多久?
  6. 苹果手用计算机解锁手机密码,苹果手机忘记密码怎样打开 苹果手机解锁常用方法分享...
  7. 算法设计与分析基础(第3版)读书笔记(及几处翻译上的错误~~)
  8. mnist数据集python导入_关于Pytorch的MNIST数据集的预处理详解
  9. 软件项目管理期末复习(看这一篇就够了)
  10. matlab画圆(及其他常用图形)