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. Linux 仿真终端:SecureCRT 常用配置

    SecureCRT 有两类配置选项,分别是会话选项和全局选项. 会话选项:修改配置只针对当前会话有效 全局选项:修改配置对所有会话有效 一般会先选择全局选项修改全局配置,然后选择会话选项单独修改个别会 ...

  2. [Django高级之批量插入数据、分页器组件]

    [Django高级之批量插入数据.分页器组件] 批量插入数据 模板层models.py from django.db import models class Books(models.Model): ...

  3. lua type 获取 类型

    lua中的类型作一小记 print(type("Hello world")) --> string print(type(10.4*3)) --> number pri ...

  4. 如何彻底禁止 macOS Big Sur 自动更新,去除更新标记和通知

    作者:gc(at)sysin.org,主页:www.sysin.org 请访问原文链接:https://sysin.org/article/Disable-macOS-Update/,查看最新版.原创 ...

  5. python 定时任务APScheduler 使用介绍

    python 定时任务APScheduler 使用介绍   介绍: APScheduler的全称是Advanced Python Scheduler.它是一个轻量级的 Python 定时任务调度框架. ...

  6. 多视觉任务的全能: HRNet

    多视觉任务的全能: HRNet HRNet是微软亚洲研究院的王井东老师领导的团队完成的,打通图像分类.图像分割.目标检测.人脸对齐.姿态识别.风格迁移.Image Inpainting.超分.opti ...

  7. 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事

    保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...

  8. VB 老旧版本维护系列---有点懵逼的webserver访问

    有点懵逼的webserver访问 '定义webserver地址 Dim postUrl As String = "" '定义webserver所需xml字符串参数 Dim xmlR ...

  9. 【UG二次开发】 UF_OBJ_ask_name 获取对象名字

    代码 char name[256]; UF_OBJ_ask_name(objTag, name);

  10. NOIP模拟测试39,思维禁锢专场「工业题·玄学题·卡常题」

    工业题 题解 抱歉,题解没时间写了 代码 #include<bits/stdc++.h> using namespace std; #define ll long long #define ...