p.p1 { margin: 0 0 2px; font: 16px ".PingFang SC" }
p.p2 { margin: 0; font: 12px "Helvetica Neue" }
p.p3 { margin: 0; font: 12px ".PingFang SC" }
p.p4 { margin: 0; font: 12px "Helvetica Neue"; min-height: 14px }
span.s1 { font: 16px "Helvetica Neue" }
span.s2 { font: 12px "Helvetica Neue" }
span.s3 { font: 12px ".PingFang SC" }
table.t1 { border-collapse: collapse }
td.td1 { border: 1px solid rgba(154, 154, 154, 1); padding: 1px 5px }

1.nohup

用途:不挂断地运行命令。如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

语法:nohup Command [ Arg … ] [ & ]

  • 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
  • 如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
  • 如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

退出状态:该命令返回状态如下   

  • 126 可以查找但不能调用 Command 参数指定的命令。   
  • 127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。
  • 除此之外,nohup 命令的退出状态是 Command 参数指定命令的退出状态。

2.&

用途在后台运行,但当用户退出(挂起)的时候,命令自动也跟着退出

3.nohup与&一起使用

nohup与&合在一起会让命令永久的在后台执行

语法nohup COMMAND &

eg: nohup command > myout.file 2>&1 &

其中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ,在该例中 2>&1是将标准错误重定向到标准输出,标准输出再被重定向输入到myout.file文件中。

4.测试

测试文件 mylog.sh

1 #!/bin/bash
2
3 index=0
4 while [ 1 ]
5 do
6 echo mylog $index
7 index=$[ index+1 ]
8 sleep 1s
9 done

测试四种情况:

执行命令 状态
./mylog.sh 结果会输出到终端

使用Ctrl + C发送SIGINT信号或关闭session发送SIGHUP信号,程序关闭

./mylog.sh &

结果会输出到终端

使用Ctrl + C发送SIGINT信号,程序免疫                                                        

关闭session发送SIGHUP信号,程序关闭

nohup ./mylog.sh

结果默认会输出到nohup.out

使用Ctrl + C发送SIGINT信号,程序关闭

关闭session发送SIGHUP信号,程序免疫

nohup ./mylog.sh &

同时免疫SIGINT和SIGHUP信号

测试过程

1.使用./mylog.sh

2.使用./mylog.sh &

使用ctrl+c发送SIGINT信号,程序免疫

关闭终端窗口,查看程序,程序关闭

3.使用nohup ./mylog.sh

使用ctrl+c,程序关闭,输出信息被保存到当前目录nohup.out文件中

关闭终端窗口,查看程序,程序免疫

4.使用nohup ./mylog.sh &

使用ctrl+c,程序免疫

关闭终端窗口,程序免疫

只有通过kill杀掉进程

总结

&是把你执行的命令放在后台执行,使用ctrl+c也终止不了这个命令的执行,除非是kill进程或者关闭窗口,才会终止这个命令
使用nohup会将命令的输出重定向到nohup.out文件中,使用ctr+c可以终止该命令的执行,关闭窗口不能
一般使用nohup   you_command $   ,这样命令的输出会被保存到nohup.out中,除了你执行命令的机器出问题,其他相关的出问题都不会影响你的执行

常用任务管理命令

# jobs      //查看任务,返回任务编号n和进程号

# bg  %n   //将编号为n的任务转后台运行

# fg  %n   //将编号为n的任务转前台运行

# ctrl+z    //挂起当前任务

# ctrl+c    //结束当前任务

nohup &的用法、进程查看以及终止的更多相关文章

  1. Linux nohup和&后台运行,进程查看及终止,进程信息输出,控制台信息输出

    nohup和&后台运行,进程查看及终止   1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输 ...

  2. nohup和&后台运行,进程查看及终止

    文章目录 一.nohup 1.1用途:不挂断地运行命令. 1.2语法:nohup Command [ Arg - ] [ & ] 1.3退出状态:该命令返回下列出口值: 二.& 2.1 ...

  3. Linux后台执行命令:&和nohup nohup和&后台运行,进程查看及终止

    nohup和&后台运行,进程查看及终止   阅读目录 nohup和&后台运行,进程查看及终止 1.nohup 2.& 3.nohup和&的区别 &:是指在后台运 ...

  4. nohup和&后台运行,进程查看及终止

    1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup ...

  5. nohup和&后台运行,进程查看及终止 详解

    nohup 和重定向 功能一样,可用于定时启动 1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输出重 ...

  6. 2.nohup和&后台运行,进程查看及终止

    1.nohup和& 语法:nohup Command [ Arg … ] [& ] nohup:不挂断地运行命令 &:在后台运行 示例:nohup java -jar app2 ...

  7. 【Linux命令】nohup和&差异,查看进程和终止进程!

    最近在开发dueros的技能,官方提供的PHPSDK中有多个实力,而运行实例的命令如下是 nohup php -S 0.0.0.0:8029 myindex.php & 从命令来看,肯定是在8 ...

  8. 在windows和linux下如何查看80端口占用情况?是被哪个进程占用?如何终止等

    一.在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等 这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入&quo ...

  9. linux 查看并终止进程

    1,查看port被那个进程占用 比如: netstat -anp | grep 1160 ps:查看port1169被那个进程占用. 2.查找进程 比如 :ps -ef | grep 'tomcat' ...

随机推荐

  1. STM32的引脚的配置

    http://blog.csdn.net/u010592722/article/details/45746079

  2. redis的rehash过程

    在扩容和收缩的时候,如果哈希字典中有很多元素,一次性将这些键全部rehash到ht[1]的话,可能会导致服务器在一段时间内停止服务.所以,采用渐进式rehash的方式,详细步骤如下: 为ht[1]分配 ...

  3. 记一次 .NET 某电商交易平台Web站 CPU爆高分析

    一:背景 1. 讲故事 已经连续写了几篇关于内存暴涨的真实案例,有点麻木了,这篇换个口味,分享一个 CPU爆高 的案例,前段时间有位朋友在 wx 上找到我,说他的一个老项目经常收到 CPU > ...

  4. Jenkins 基础篇-凭证配置

    我们在正式开始使用 Jenkins 之前还要先配置一些凭证,这些凭证的作用主要是用于认证,例如我们要从代码仓库拉取代码,就需要用到代码仓库的账号密码或者密钥:我们要登录远程服务器也需要用户名密码或者密 ...

  5. rabbit_消费者

    import pika import json import time import os import ast import uuid import time import json import ...

  6. 死磕nginx系列

    死磕nginx系列 死磕nginx系列--nginx入门 死磕nginx系列--nginx配置文件 死磕nginx系统--nginx日志配置 死磕nginx系列--nginx服务器做web服务器 死磕 ...

  7. stream的groupby出来的map是有顺序的map

    stream分组后的map是有序map List<RedisInstanceTypeDto> typeDtoList = ModuleHelper.mapAll(redisInstance ...

  8. Angel图算法

    Angel图算法 [2.0]CommonFriends 计算两个好友的共同好友数,某种程度上可以刻画两个节点之间的紧密程度. 输入 输入数据路径:输入文件所在路径,无权网络数据, 数据格式为两列 sr ...

  9. CodeGen结构循环回路

    CodeGen结构循环回路 structure循环是一个模板文件构造,它允许您迭代CodeGen拥有的有关结构的集合.为了使用结构循环,必须同时基于多个存储库结构生成代码. CodeGen可以通过以下 ...

  10. NVIDIA® TensorRT™ supports different data formats

    NVIDIA TensorRT supports different data formats NVIDIATensorRT公司 支持不同的数据格式.需要考虑两个方面:数据类型和布局.         ...