一、nohup

nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

nohup 是 no hang up 的缩写,就是不挂断的意思。

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

在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。

1.1案例:

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

在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;

2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到myout.file文件中。

2. 0 22 * * * /usr/bin/python /home/pu/download_pdf/download_dfcf_pdf_to_oss.py > /home/pu/download_pdf/download_dfcf_pdf_to_oss.log 2>&1

这是放在crontab中的定时任务,晚上22点时候怕这个任务,启动这个python的脚本,并把日志写在download_dfcf_pdf_to_oss.log文件中

案例2:

nohup python3 -u socket_test.py >my_socket.log 2>&1 &

开启以后会显示 进程ID 后面可以利用这个ID杀死后台进程  忘记了下面也有办法查询

1. 最后一个“&”表示后台运行程序
2. “nohup” 表示程序不被挂起
3. “python3”表示执行python代码
4. “-u”表示不启用缓存,实时输出打印信息到日志文件(如果不加-u,则会导致日志文件不会实时刷新代码中的print函数的信息)
5. “socket_test.py”表示python的源代码文件
6. “my_socket.log”表示输出的日志文件
7. “>”表示将打印信息重定向到日志文件
8. “2>&1”表示将标准错误输出转变化标准输出,可以将错误信息也输出到日志文件中(0-> stdin, 1->stdout, 2->stderr)

ps命令

功能:查看当前的所有进程

也可以单独查询某个文件开启的进程

ps -aux | grep "socket_test.py"    #a:显示所有程序  u:以用户为主的格式来显示   x:显示所有程序,不以终端机来区分

Kill命令

功能:杀死进程

kill 30598

二、nohup和&的区别

& : 指在后台运行

nohup : 不挂断的运行,注意并没有后台运行的功能,,就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行


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

那么,我们可以巧妙的吧他们结合起来用就是
nohup COMMAND &
这样就能使命令永久的在后台执行

例如:

1. sh test.sh &  
将sh test.sh任务放到后台 ,即使关闭xshell退出当前session依然继续运行,但标准输出和标准错误信息会丢失(缺少的日志的输出)

将sh test.sh任务放到后台 ,关闭xshell,对应的任务也跟着停止。
2. nohup sh test.sh  
将sh test.sh任务放到后台,关闭标准输入,终端不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。
3. nohup sh test.sh  & 
将sh test.sh任务放到后台,但是依然可以使用标准输入,终端能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session依然继续运行。

参考链接

https://blog.csdn.net/u011095110/article/details/78666833

https://baike.baidu.com/item/nohup/5683841

详解nohup和 区别相关推荐

  1. java nohup_详解nohup和 区别

    详解nohup和& 区别 2017年11月29日 16:57:38 King-Long 阅读数:7266 版权声明:本文为博主原创文章,欢迎转载. https://blog.csdn.net/ ...

  2. HTTP - get/post请求详解与本质区别总结

    前言 在客户机和服务器之间进行请求.响应时,两种最常被用到的方法是:get和post. get:从指定的资源请求数据(从服务器获取数据) post:向指定的资源提交要被处理的数据(向服务器传送数据) ...

  3. mysql中utf8和utf8mb4的详解用法与区别

    一.简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在utf8mb4是utf8的超集,除了将编码改为ut ...

  4. Mipmap详解(有无Mipmap区别、原理、优点、缺点、优化)

    一.先了解纹理过滤         想要了解为什么要使用Mipmap,首先要知道纹理过滤是什么.         当你在玩吃鸡的时候可能会发现一个现象,一个人在距离你5米的地方,可以观察到敌人的一举一 ...

  5. python中类方法与实例方法的区别-Python实例方法、静态方法和类方法详解(包含区别和用法)...

    和类属性一样,类方法也可以进行更细致的划分,具体可分为类方法.实例方法和静态方法. 和类属性的分类不同,对于初学者来说,区分这 3 种类方法是非常简单的,即采用 @classmethod 修饰的方法为 ...

  6. javascript中match方法和exec()方法详解与深度区别(非原创)

    match和exec的比较 1.match match方法属于String正则表达方法.  语法: str.match(regexp或者string) str:要进行匹配的字符串. regexp:一个 ...

  7. nohup命令及其输出文件 linux nohup命令详解

    linux nohup命令详解 nohup命令及其输出文件  nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令.该命令可以在你退出帐户/关闭终 ...

  8. TCP与UDP的区别(详解)

    TCP与UDP的区别(详解) 说区别之前先了解了解这两个协议工作机制以及工作原理 UDP: UDP是一种面向无连接的传输层协议,无法提供可靠的传输服务 通过以上报文格式可以看出UDP报文可以分为UDP ...

  9. HashTable和HashMap的区别详解

    HashTable和HashMap的区别详解 一.HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同 ...

最新文章

  1. oracle 更改实便例名称,大家好,请教在oracle中能否获取update记录 所涉及的字段的名称?如能实现的话,请教相关实现方法。谢谢~...
  2. oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别...
  3. 详解@EnableEurekaServer和@EnableDiscoveryClient 或 @EnableEurekaClient注解
  4. mysql DDL语句
  5. java hashset 源码_Java集合源码分析-HashSet和LinkedHashSet
  6. RangeAssignor(范围分区)
  7. BestCoder15 1002.Instruction(hdu 5083) 解题报告
  8. php screw.so扩展下载,CentOS下安装php加解密工具php
  9. QString和std::string转换乱码与sqlite存储汉字乱码
  10. ARCore快速入门--在模拟器(Emulator)上运行AR应用
  11. fastdb缩小初始生成文件
  12. excel柱状图自定x轴y轴_《excel柱状图自定x轴y轴》 如何更改EXCEL 图表中X轴的名称...
  13. 2017年下半年梦想板
  14. SKETCH 切出背景透明的图标
  15. iOS开发 - 给Label加下划线、中划线
  16. 计算机本地用户名称怎么改win10系统,win10系统如何设置本地账户用户名
  17. modelsim-win64-10.4-se 下载、安装、破解全攻略(屡试不爽)
  18. [转]列式数据库之infobright以及架构
  19. codeforces 333B - Chips
  20. Interview Summary

热门文章

  1. MySQL源码编译与初始化
  2. plsql中文乱码 显示问号
  3. 假如我们的坦克继续前进队——需求改进系统设计
  4. Navicat Premium 实用快捷键
  5. loadView加载(变换成ScrollView)
  6. 在Ubuntu上下载、编译和安装Android 4.2 最新内核源代码(Linux Kernel)
  7. boost.asio防止恶意空连接的方法
  8. python 分位数计算代码_Python数据分析第十一节 数据运算
  9. 每日一题(53)—— 评价代码片段
  10. TQ210——S5PV210中断体系