同样都是后台执行进程,但是nohup和&有什么区别呢?

& 是指后台运行;

nohup 的功能和& 之间的功能并不相同。

其中,nohup 可以使得命令永远运行下去和用户终端没有关系。

当我们断开ssh 连接的时候不会影响他的运行。

而& 表示后台运行。当ssh 断开连接的时候(用户退出或挂起的时候),命令也自动退出。

当然我们可以把两者结合起来使用:

nohup command &   

来实现命令的后台运行并且和用户终端没有关系。

由 nohup 文档来看:

If the output file nohup.out cannot be created in the current directory, the nohup utility uses the directory named by HOME to create the file.

表示:

nohup 命令执行后,会产生日志文件,把命令的执行中的消息报损到这个文件之中。

如果当前文件不可写,那么会自动保存到执行这个命令的home 目录下面。

如果是超级管理员root 对应的是/root 目录。

从上面对比我们发现:

1. & 可以使得命令 免疫 ctrl c 的 SIGINT 信号,不能是的命令对 SIGHUP 信号进行免疫。

2. nohup 可以使得命令对两个信号都可以进行免疫。  为了使得 & 达到相同的效果:

总结:

1.nohup可以挂载后台执行,同样终端退出或者断开不会影响进程,同样如果使用默认的nohup command 的话,默认会出现一个nohup.out文件来输出进程执行的内容,前提是运行的用户有当前目录的写权限。但执行nohup command的时候,不会显示命令行,直到程序结束

2.& 同样可以挂载到后台执行,但是终端退出或者ssh端口,都会引起后台进程停止

两者同时使用是最好的结果

nohup command &

来达到推出中端也不会影响后台进程运行

如果想要查看正在后台执行的进程

可以使用jobs命令来查看

直接命令行输入jobs即可查看使用&或者nohup xx &

再或者直接使用ps -ef 或者ps aux 直接查看进程即可

【Linux】nohup和&的区别的更多相关文章

  1. linux中nohup 与 & 的区别

    Linux/Unix下,通常只有守护进程可在脱离终端的情况下能继续执行,而普通进程在关闭终端时会因收到SIGHUP信号(挂起信号)而退出.当终端退出后,由该终端启动的后台程序自动退出. 若想命令在后台 ...

  2. nohup和&的区别

    nohup和&的区别http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4241330&fromuid=21288388 ...

  3. linux 和unix 的区别

    Linux与Unix的区别  某些PC机的Unix和Linux在实现方面相类似.几乎所有的商业Unix版本都基本支持同样的软件.程序设计环境和网络特性.然而,Linux和Unix的商业版本依然存在许多 ...

  4. Linux nohup 命令

    Linux nohup 命令 如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令.该命令可以在你退出帐户之后继续运行相应的进程.nohup就是不挂起的意思(no ...

  5. Linux的优缺点,Linux与windows的区别

    Linux 一. 什么是linux? Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议. ...

  6. php windows与linux下的路径区别

    php windows与linux下的路径区别windows用的是"\",linux用的是"/"这一点要特别清楚,, ps:在PHP windows也可以用/表 ...

  7. Linux系统 关机/重启/用户切换/注销,用户管理(用户创建/修改,用户组增加/删除),Linux中 / 和 ~ 的区别

    1.关机/重启命令 shutdown命令 shutdown -h now :立即关机 shutdown -h 1 :1分钟后关机 shutdown -r now :立即重启 shutdown -r 1 ...

  8. Unix、Linux、Windows操作系统的区别

    1.操作区别 原文地址: https://blog.csdn.net/qq_41026740/article/details/96018808 linux区分大小写,windows在dos界面命令下不 ...

  9. linux之后台运行程序 nohup和& 的区别

    1.nohup 用途:不挂断地运行命令,即使终端ssh关闭了也一直运行. 语法:nohup Command [ Arg … ] [ & ] 例:nohup start.sh & 无论是 ...

随机推荐

  1. Big Sur 11.0.1 让2K屏幕开启Hidpi

    首先来个成果图: 一.复制显示器配置文件 终端输入命令:cd /System/Library/Displays/Contents/Resources/Overrides 接着输入:open . 打开D ...

  2. 大数据组件Kerberos安全访问关键代码

    版本信息 <version.hbase>2.1.0-cdh6.2.1</version.hbase> <version.hadoop>3.0.0-cdh6.2.1& ...

  3. matplotlib的学习6-annotation的标注

    import matplotlib.pyplot as plt import numpy as np ''' 当图线中某些特殊地方需要标注时,我们可以使用 annotation. matplotlib ...

  4. JDBC中SQL语句与变量的拼接

    变量为 keyWords String sql = "select id from t_user order by id + '"+keyWords+"';";

  5. K8S构建1台master2台node+Harbor_笔记

    部署环境: master.node:centos7虚拟机 网络使用本地网卡共享到VMnet1(仅主机),虚拟机使用VMnet1. 准备文件: CentOS-7-x86_64-Minimal-1810. ...

  6. Mac 下 IDEA 启动慢的问题

    转自: http://blog.csdn.net/KingBoyWorld/article/details/73440717 从控制台来看,每次都会连接本地地址(127.0.0.1),问题可能就出在这 ...

  7. springboot 中yml配置

    springboot 中各种配置项纪录 1. @Value 最早获取配置文件中的配置的时候,使用的就是这个注解,SpEL表达式语言. // 使用起来很简单 @Value("${config. ...

  8. VS挂接崩溃包

    主要用来在用户机器上对目标进程生成dump文件,定位"卡死".Crash等问题.推荐相关工具DumpTool,WinCrashReport. DumpTool 下载 WinCras ...

  9. 发送微信通知 java 实现

    /实现类 @Service public class WeChatServiceImpl implements IWeChatService { @Override public WeChatSend ...

  10. Java学习日报8.2

    package user;import java.util.*; public class User { private String kouling; private String u; priva ...