shutdown发送SIGTERM信号,atexit无法处理.背景管理者也不会,最后是块等.

import signal

signal.getsignal(signal.SIGTERM)

Out[64]: 0 #i.e. nothing

与此对比,比如ctrl-C:

signal.getsignal(signal.SIGINT)

Out[65]: #i.e. something

你可以用信号注册你的byebye函数来运行而不是什么都不做(这会导致解释器最终被shell杀死)

signal.signal(signal.SIGTERM,byebye)

如果你这样做,你需要做两件事:

>更改byebye的签名以接受信号将传递给它的两个参数.

>你应该做一些事情,比如在你的byebye函数结束时调用sys.exit()以允许python优雅地关闭商店.

你也可以做一些信号和atexit的组合:

import sys

signal.signal(signal.SIGTERM, lambda num, frame: sys.exit(0))

哪个会直接进入您当前的代码.这样可以确保清理操作的原子性(即byebye保证是最后的I / O操作),但代价是有点笨重.

python代码直接关机_关机信号在python脚本中运行代码相关推荐

  1. c++获取一段代码的执行时间_微软IE浏览器JScript脚本引擎远程代码执行漏洞通告...

    文档信息 编号 QiAnXinTI-SV-2019-0022 关键字 IE JScript RCE 远程命令执行CVE-2019-1367 发布日期 2019年09月24日 更新日期 2019年09月 ...

  2. 高考python必考题目_假如高考考python编程,这些题目你会几个呢?

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理 ...

  3. python字典{:4}_升级您的Python技能:检查字典

    python字典{:>4} by Adam Goldschmidt 亚当·戈德施密特(Adam Goldschmidt) 升级您的Python技能:检查字典 (Upgrade your Pyth ...

  4. 关于pycharm中运行代码报错的解决思路

    关于pycharm中运行代码报错的解决思路 复盘一下对于代码运行报错的解决思路,以免忘了. 之前对于代码报错有种恐惧感,生怕出什么幺蛾子,但每次都会有很多bug,每改进一个bug又会出现下一个bug, ...

  5. ipython console_在spyder IPython console中,运行代码加入参数的实例

    在路径后面加入args = '参数1,[参数,]",如下 runfile("/home/liuxiaodong/image_stream/image.py", args ...

  6. win10环境下下载安装openpose(only cpu)并在pycharm中运行代码(超详细)

    win10环境下下载安装openpose(only cpu)并在pycharm中运行代码(超详细) (一)前言 (二)准备工作 (三)友情提醒 (四)详细安装步骤 1.新建文件夹 2.下载OpenPo ...

  7. android 运行在ui县城,Android基础:在UI线程中运行代码

    Android基础:在UI线程中运行代码 从在UI线程中运行代码的角度来看,在以下方面有什么区别:MainActivity.this.runOnUiThread(new Runnable() { pu ...

  8. Android基础知识:在UI线程中运行代码

    本文翻译自:Android basics: running code in the UI thread In the viewpoint of running code in the UI threa ...

  9. pycharm中运行代码

    pycharm中运行代码 1.Local 2.Windows PowerShell 3.Command Prompt

最新文章

  1. java api中的设计模式_Java API 设计模式之策略(Strategy)
  2. debian 7上安装svn
  3. (转)计算几何模板 - kuangbin
  4. 如何用ABAP代码的方式弹出SPRO里的customizing activity
  5. mysql自增长主键_MySQL数据库8(九)列属性之主键、自增长
  6. C/C++后端-服务端开发技术博文分类汇总
  7. php use 使用变量,php闭包中使用use声明变量的作用域实例分析
  8. 简单3步成功给Mac安装指定Python版本和指定库版本并且随意切换版本,非常简单,不行拿砖砸我
  9. 路由器连接久点就慢下来了,怎么回事?
  10. 堆插入和删除的简单实现
  11. Pascal VOC2012
  12. AI早教产业鄙视链,你处在哪一层?
  13. 仿IBM首页焦点图,缩略图大图,带文字
  14. 单位元转换万元怎么转_元换算万元单位(元与万元的换算器)
  15. c语言 close,C++ close()关闭文件方法详解
  16. 多边形面积计算公式, 根据GPS经纬度计算面积
  17. android 通知栏背景颜色跟随app导航栏背景颜色变化而变化
  18. 如何找国外作者的matlab,如何与外国学者用电子邮件联系(索要论文或者代码)...
  19. python的continue用法_Python continue的用法详解
  20. 最浅显易懂的数据库索引讲解

热门文章

  1. 浏览器字体和html字体,如何正确设置兼容浏览器的中文字体
  2. 详细讲解vue2组件通信(一)——父传子props
  3. 使用OpenVINO实现飞桨版PGNet推理程序
  4. Design Compiler工具学习笔记(7)
  5. MAC BOOK用命令解压RAR文件
  6. 1919获阿里20亿投资,独角兽如何搅动酒饮业格局
  7. jQuery实现广告图片轮播切换
  8. 谷歌李开复:我的传奇人生源于十句箴言
  9. python中int函数_int()函数以及Python中的示例
  10. PHP气缸种类,【汽缸】【气缸】|× 【Q】√ - 校对标准:寻找权威依据 - Powered by phpwind...