详解Linux中nohup和的用法和区别
- 一、示例
- 二、&
- 三、nohup
- 四、&和nohup同时使用
- 五、总结
一、示例
我们用python代码loop_hello.py做示例,代码的作用是循环输出循环次数和hello world!,每次输出后sleep 1秒
- 示例代码如下
import timedef main():i = 0 while True:i += 1print('%d: hello world!' %(i))time.sleep(1)if '__main__' == __name__:main()
运行
loop_hello.py
,输出结果如下:
程序每隔一秒会在终端输出一个字符串,此时如果键入Ctrl+C ,程序会收到一个SIGINT信号,如果不做特殊处理,程序的默认行为是终止(如上图)。
二、&
使用
python loop_hello.py &
,效果如下所示:
首先会在终端显示进程号是2367
键入Ctrl + C,发出SIGINT信号,程序会继续运行
关掉session,程序会收到一个SIGHUP信号,通过
ps aux | grep loop_hello.py
可以看到,进程2367也关闭了
三、nohup
1、使用 nohup python loop_hello.py
,效果如下:
- 前台没有出现进程号
- 有一个 忽略输入并把输出追加到"nohup.out" 的提示
- hello的输出也没有出现在前台
2、如果关掉session,程序会不会关闭呢?
- 使用
ps aux | grep loop_hello
查看进程号 - 关掉session,程序会收到一个SIGHUP信号
- 再次使用
ps aux | grep loop_hello
,发现进程仍然存在 - kill掉进程
3、测试一下Ctrl +C
- 使用nohup启动loop_hello.py,如果键入Ctrl+C ,程序收到SIGINT信号后,直接关闭了
四、&和nohup同时使用
使用
nohup python loop_hello.py &
运行程序,效果如下:
键入Ctrl + C,发送SIGINT信号 使用ps aux查看,进程仍然存在
关闭session,发送SIGHUP信号 使用ps aux查看,进程依然存在
如果想要终止进程的话,只能使用kill了
五、总结
1、使用&后台运行程序:
- 结果会输出到终端
- 使用Ctrl + C发送SIGINT信号,程序免疫
- 关闭session发送SIGHUP信号,程序关闭
2、使用nohup运行程序:
- 结果默认会输出到nohup.out
- 使用Ctrl + C发送SIGINT信号,程序关闭
- 关闭session发送SIGHUP信号,程序免疫
3、平日线上经常使用nohup和&配合来启动程序:
- 同时免疫SIGINT和SIGHUP信号
详解Linux中nohup和的用法和区别相关推荐
- linux中用zip压缩文件,详解Linux中zip压缩和unzip解压缩命令及使用详解
下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩myda ...
- linux用户密码管理,Linux_详解Linux中的用户密码管理命令passwd和change,passwd
修改用户密码参数
nbsp - phpStudy...
详解Linux中的用户密码管理命令passwd和change passwd 修改用户密码 参数 -k 保持未过期身份验证令牌 -l 关闭账号密码.效果相当于usermod -L,只有root才有权使用 ...
- java comparator相等_详解Java中Comparable和Comparator接口的区别
详解Java中Comparable和Comparator接口的区别 发布于 2020-7-20| 复制链接 摘记: 详解Java中Comparable和Comparator接口的区别本文要来详细分析一 ...
- java system sleep_详解Java中的sleep()和wait()的区别
详解Java中的sleep()和wait()的区别 对于sleep()方法,我们首先要知道该方法是属于Thread类中的.而wait()方法,则是属于Object类中的. sleep()方法导致了程序 ...
- linux中create命令详解,linux中 pmap 命令详解
通过查看帮助,返回了如下信息: Usage: pmap [options] pid [pid ...] Options: -x, --extended show details -X show eve ...
- linux压缩命令zip详解,Linux中zip压缩和unzip解压缩命令详解
如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man.Man实际上就是查看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令.接下来是小编 ...
- linux中ping命令详解,linux中的ping命令的详细解释
linxu下的ping命令的主要功能就是确定网络状态,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux的ping命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的 ...
- linux中dd命令详解,Linux中DD命令详解
Linux中DD命令详解 1.dd命令简介 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换.可以用该命令实现DOS下的diskcopy命令的作用.先用dd命令把软盘上的 ...
- linux中less命令详解,linux中的less命令的详细解释
linxu下的less命令可以查看文本文件.下面由学习啦小编为大家整理了linux的less命令的详细解释的相关知识,希望对大家有帮助! 一.linux中的less命令的详细解释 less命令语法 l ...
- linux中替换命令详解,linux中sed命令字符串替换的用法详解
Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助! linux中sed命令字符串替换的用法详 ...
最新文章
- ASP.NET C# 货币转换函数 中文大写金额 英文金额
- shell训练营Day18
- C#中的快捷键,可以更方便的编写代码
- sc169 lecture note
- 安装虚拟机和docker封装
- Android近场通信---NFC基础(三)
- python装饰器@深度加工(三分钟读懂)
- paip.输入法编程---增加码表类型
- linux远程ssh的端口映射,SSH端口映射
- 专业的Windows鼠标右键菜单管理工具
- can和could的用法_can和could的区别和用法
- 免费下载《WindowsPE权威指南》百度云
- obs弹幕助手android版,OBS Studio 使用全屏弹幕教程
- 精密制造业行业_精密制造业的发展:精密制造业的深度报告
- 谷粒商城二十订单服务
- 职场中职员如何向上管理?
- 企业愿景不能是忽悠,而是发自内心的渴望
- GNU Bison 2.1 中文手册
- 对等网络(P2P)--网络大典
- Ant是什么东西(初级)
热门文章
- 面试题算法题 URL化and重新排列字符
- 中科院30m二级分类土地利用数据Arcgis预处理及获取
- leetcode 877 stone game
- 【图论】Kruskal算法求最小生成树详解
- HTML小作业---网站首页/新闻栏目/banner图/js下拉框
- hint用法mysql,使用hint优化Oracle的执行计划
- android 3dtouch插件,iOS-3DTouch的简单实现
- 试用版本重装系统才能用是怎么回事_电脑重装系统老是失败,到底是怎么回事?这种现象是第一次碰到!...
- php 去除空格和换行
- php session的一些理解