【参开文章】: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. Linux网络编程学习(二) ----- 进程控制(第三章)

    1.进程和程序 程序是一个可执行文件,而一个进程是一个执行中的程序实例.一个进程对应于一个程序的执行,进程是动态的,程序是静态的,多个进程可以并发执行同一个程序.比如几个用户可以同时运行一个编辑程序, ...

  2. tensorflow/pytorch/mxnet的pip安装,非源代码编译,基于cuda10/cudnn7.4.1/ubuntu18.04.md

    os安装 目前对tensorflow和cuda支持最好的是ubuntu的18.04 ,16.04这种lts,推荐使用18.04版本.非lts的版本一般不推荐. Windows倒是也能用来装深度GPU环 ...

  3. TXLSReadWriteII5 单元格读写

    unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ...

  4. 云笔记项目-Spring事务学习_测试准备

    在做云笔记项目的过程中,顺便简单的学习了Spring的事务概念,业务以如果添加笔记,则增加用户星星数目作为例子,引入了事务的概念.类似注册送积分之类的,云笔记项目以增加笔记就送星星来说明事务.具体在添 ...

  5. scrapy+redis去重实现增量抓取

    class ProjectnameDownloaderMiddleware(object): # Not all methods need to be defined. If a method is ...

  6. spark 算子之RDD

    map map(func) Return a new distributed dataset formed by passing each element of the source through ...

  7. Linux下Mysql安装(tar安装)

    1.为数据库创建软件目录以及数据存放目录 #mysql软件目录 mkdir /software/ #mysql数据文件目录 mkdir /data/mysql 2.上传mysql-XXXXXX.tar ...

  8. 50-用Python监听鼠标和键盘事件

    转自:https://www.cnblogs.com/qiernonstop/p/3654021.html 用Python监听鼠标和键盘事件 PyHook是一个基于Python的“钩子”库,主要用于监 ...

  9. Linux下搭建ftp服务

    Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令 rpm -qa | grep vsftpd 来查看是否安装相应的包 ...

  10. cpp 区块链模拟示例(四) 区块链工作量证明

    本文主要在之前的区块链原形上添加了工作量证明,并且为后继的交易功能做好准备. 上一个章节我们已经创建了区块链的基本原形,但是区块的哈希计算和加入太过于简单,如果按照这种速度添加区块那么区块链估计一个小 ...