千家信息网

Linux中nohup与&的用法和区别详解

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,示例 :我们用python代码loop_hello.py做示例,代码的作用是循环输出循环次数和hello world!,每次输出后sleep 1秒示例代码如下:import time def main
千家信息网最后更新 2026年11月02日Linux中nohup与&的用法和区别详解

示例 :

我们用python代码loop_hello.py做示例,代码的作用是循环输出循环次数和hello world!,每次输出后sleep 1秒

示例代码如下:

import time def main(): i = 0  while True:  i += 1  print('%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

使用nohup python loop_hello.py,效果如下:

  1. 前台没有出现进程号
  2. 有一个"忽略输入并把输出追加到"nohup.out""的提示
  3. hello的输出也没有出现在前台

如果关掉session,程序会不会关闭呢?

  1. 使用ps aux | grep loop_hello查看进程号
  2. 关掉session,程序会收到一个SIGHUP信号
  3. 再次使用ps aux | grep loop_hello,发现进程仍然存在
  4. kill掉进程

测试一下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. 结果会输出到终端
  2. 使用Ctrl + C发送SIGINT信号,程序免疫
  3. 关闭session发送SIGHUP信号,程序关闭

使用nohup运行程序:

  1. 结果默认会输出到nohup.out
  2. 使用Ctrl + C发送SIGINT信号,程序关闭
  3. 关闭session发送SIGHUP信号,程序免疫

平日线上经常使用nohup和&配合来启动程序:

  1. 同时免疫SIGINT和SIGHUP信号

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

程序 信号 进程 输出 运行 代码 效果 示例 终端 结果 免疫 内容 前台 同时 学习 循环 特殊 上图 价值 作用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 互联网科技网 山东特亿宝互联网科技有限公司 云信互联网科技有限公司 美国互联网保险保险科技 互联网未来科技 互联网金融和金融科技 互联网教育科技公司vipkid 承德科技产业互联网发展 世界互联网科技公司市值排名 武汉健翔互联网络科技有限公司 呼和浩特新华互联网科技学院 允成互联网科技有限公司融资 迪庆互联网科技招生 阿里互联网科技企业 山东有哪些互联网科技公司 郑州欣桑互联网科技有限公司 世界互联网科技成果奖 恒生科技指数 中概互联网 互联网高科技绘画 万易互联网科技有限公司 海南购全球互联网科技 互联网汽车科技小镇 阿里巴巴算科技企业还是互联网 互联网为啥属于高科技 美国互联网科技实力 科技互联网的核心竞争力 江苏互联网智能科技产品出厂价 互联网金融运营模式中的金融科技 云南互联网科技学费
0