【参开文章】:nohup 与 & 的区别

1. nohup

1.1 基本概念

  将程序以忽略挂起信号的方式运行起来;

  不可以免疫 Ctrl + C  的 SIGINT 中断信号;

  可以免疫 SIGHUP  的 挂断信号;

  测试:

  查看启动脚本,两个启动方式只是日志打印的文件不一样,命令执行效果一样;

  

  程序启动后卡在这里,如图;

  

  重新打开一个终端,查看程序是否启动:

  

  然后在启动程序的终端执行 Ctrl + C ;

  

  再次查看程序启动情况,发现进程已被终止;

  

  被运行的程序的输出信息将不会显示到终端。

  nohup 命令的如果没有重定向输出时,输出都将附加到当前目录的 nohup.out 文件中。

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

  如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。

1.2 重定向

  将执行命令的输出信息重定向到srart.log文件中;

  nohup command > start.log 2>&1 

2. &

2.1 基本概念

  在当前终端后台运行命令;

  可以免疫  Ctrl + C  的中断信号;

  不可以免疫 SIGHUP  的 挂断信号;

  当前用户退出、挂断或者ssh连接断开的时候,命令也会自动退出;

2.2 用法

  command  &

  使用该方式执行命令的时候:

  命令执行时的输出信息会打印到控制台,输出信息打印完成之前不能被其他命令中断,信息打印完成后可以通过 Ctrl + C 切换到命令模式,程序在后台继续运行;

  示例:

  

3. 常用使用方式

3.1 nohup 和 & 配合一起使用

  将执行命令的输出信息重定向到srart.log文件中;

  nohup command > start.log 2>&1 &

  示例:

  

  脚本执行后:

  当前终端依然处于命令模式,

  程序进入后台执行;

  程序执行时的输出信息打印到指定的文件中;

  

Linux 后台运行命令:nohup 和 &的更多相关文章

  1. linux 后台运行命令 nohup命令

    转载:http://if.ustc.edu.cn/~ygwu/blog/archives/000538.html 2005年04月18日 简单而有用的nohup命令在UNIX/LINUX中,普通进程用 ...

  2. Linux后台运行命令 nohup command > myout.file 2>&1

    Linux命令后台运行 转自北国的雨,谢谢:http://www.cnblogs.com/lwm-1988/archive/2011/08/20/2147299.html 有两种方式:1. comma ...

  3. linux后台运行命令:&和nohup

    常用后台运行命令包含:&和nohup 一.& 使用 当在前台运行某个作业时,终端被该作业占据:可以在命令后面加上& 实现后台运行.例如:sh test.sh & 适合在 ...

  4. Linux后台运行命令,nohup和&的区别

    &的意思是在后台运行, 什么意思呢?  意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C,  那么a.out照样运行(因为对SIGINT信号免疫). 但是要注 ...

  5. Linux后台运行命令nohub输出pid到文件(转)

    用nohup可以启动一个后台进程.让一个占用前台的程序在后台运行,并静默输出日志到文件: nohup command > logfile.txt & 但是如果需要结束这个进程,一般做法是 ...

  6. linux 后台运行命令

    command & 关闭终端,程序会终止 nohup command & 关闭终端,程序不会终止

  7. linux后台运行命令

    Ctrl+z/bg/nohup/setsid/& screen 区别待续

  8. 2016-09-19: linux后台运行

    linux后台运行命令两种方式: 1. command & : 后台运行,你关掉终端会停止运行   2. nohup command & : 后台运行,你关掉终端也会继续运行 简介 L ...

  9. 后台运行程序nohup的使用

    linux后台运行程序 nohup python3 test.py >output 2>&1 & 参数解释 用途:不挂断地运行命令. 语法:nohup Command [ ...

随机推荐

  1. 2018年秋季学期面向对象程序设计(JAVA)课程总结

    2018年秋季学期面向对象程序设计(JAVA)课程总结 时值2018年年末,按惯例对本学期教学工作小结如下: 1. 教学资源与教学辅助平台 教材:凯 S.霍斯特曼 (Cay S. Horstmann) ...

  2. springcloud-知识点总结(一):Eureka

    1.Spring Cloud简介 Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载 ...

  3. JAVA中的配置文件XML

    一:概念 1.XML  Extensible markup Language 可拓展标记语言 2.功能:存储数据(配置文件,在网络中传输数据) 3.html和xml的区别 3.1xml标记全是自定义的 ...

  4. Nginx(二)

    利用include功能优化nginx的配置文件 [root@lnmp conf]# cat nginx.conf worker_processes 1; events {     worker_con ...

  5. Git 基础 - 删除暂存区的文件

    1 直接删除文件 这个文件会有两个操作:已暂存的修改.未暂存的删除 2 直接删除文件 + 记录删除操作 先在工作目录中删除文件,再使用git rm命令记录此次移除文件的操作(删除暂存区中该文件的修改快 ...

  6. 基于python的selenium自动化测试环境搭建

    Windows下的环境搭建: 1.安装python2.7.152.cmd里敲pip install selenium3.安装firefox47.geckodriver11(并将geckodriver. ...

  7. [leetcode]19. Remove Nth Node From End of List删除链表倒数第N个节点

    Given a linked list, remove the n-th node from the end of list and return its head. Example: Given l ...

  8. Git常用命令及场景

    Git命令推送到远程分支 1.登录GitHub创建一个远程仓库. https://github.com 2.git init 本地创建一个目录,并初始化一个git仓库. 3.git add 添加文件到 ...

  9. node.js中使用zlib模块进行数据压缩和解压

    我们可以使用 zlib 模块来对数据进行压缩和解压处理,减小数据体积,加快传输速度. 一.通过创建转换流,对文件进行压缩和解压 const fs = require('fs'); const zlib ...

  10. linux就该这么学,第五课,

    今天讲的比较难理解,要重预习和复习 今天讲了2个多小进,主要讲了SHELL,shell的组成:第一行为脚本声明 #!/bin/bash   ,第二行为脚本的注释信息,第三为 脚本的执行语句 接收用户参 ...