当前位置: 首页 > news >正文

网站换域名有没有影响万网 网站空间

网站换域名有没有影响,万网 网站空间,做网络传销网站犯法吗,wordpress演示数据导入在了解了Linux的信号基础之 后#xff0c;Python标准库中的signal包就很容易学习和理解。signal包负责在Python程序内部处理信号#xff0c;典型的操作包括预设信号处理函数#xff0c;暂 停并等待信号#xff0c;以及定时发出SIGALRM等。要注意#xff0c;signal包主要是…在了解了Linux的信号基础之 后Python标准库中的signal包就很容易学习和理解。signal包负责在Python程序内部处理信号典型的操作包括预设信号处理函数暂 停并等待信号以及定时发出SIGALRM等。要注意signal包主要是针对UNIX平台(比如Linux, MAC OS)而Windows内核中由于对信号机制的支持不充分所以在Windows上的Python不能发挥信号系统的功能。信号(signal)-- 进程之间通讯的方式是一种软件中断。一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号。定义信号名signal包定义了各个信号名及其对应的整数比如import signalprint(signal.SIGABRT)print(signal.SIG_DFL)Python所用的信号名与Linux一致可以通过$ man 7 signal 查询预设信号处理函数signal包的核心是使用signal.signal()函数来预设(register)信号处理函数如下所示singnal.signal(signalnum, handler)signalnum为某个信号handler为该信号的处理函数。我们在信号基础里提到进程可以无视信号可以采取默认操作还可以自定义操作。当handler为signal.SIG_IGN时信号被无视(ignore)。当handler为singal.SIG_DFL进程采取默认操作(default)。当handler为一个函数名时进程采取函数中定义的操作。参数SIG_IGNSIG_DFLhandler解释忽略默认处理类型的函数指针实质#define SIG_IGN ((sighandler_t)1)#define SIG_IGN ((sighandler_t)0)执行自己写的代码# Define signal handler functiondef myHandler(signum, frame):print(I received: , signum)# register signal.SIGTSTPs handlersignal.signal(signal.SIGTSTP, myHandler)#暂停进程把当前进程置成就绪态让出CPU直到收到任意一个信号后终止并且当处理完该信号之后直接执行pause()函数下面的语句signal.pause()print(End of Signal Demo)# 有问题待测试在主程序中我们首先使用signal.signal()函数来预设信号处理函数。然后我们执行signal.pause()来让该进程暂停以等待信号 以等待信号。当信号SIGUSR1被传递给该进程时进程从暂停中恢复并根据预设执行SIGTSTP的信号处理函数myHandler()。 myHandler的两个参数一个用来识别信号(signum)另一个用来获得信号发生时进程栈的状况(stack frame)。这两个参数都是由signal.singnal()函数来传递的。上面的程序可以保存在一个文件中(比如test.py)。我们使用如下方法运行:$python test.py以便让进程运行。当程序运行到signal.pause()的时候进程暂停并等待信号。此时通过按下CTRLZ向该进程发送SIGTSTP信号。我们可以看到进程执行了myHandle()函数, 随后返回主程序继续执行。(当然也可以用$ps查询process ID, 再使用$kill来发出信号。)(进程并不一定要使用signal.pause()暂停以等待信号它也可以在进行工作中接受信号比如将上面的signal.pause()改为一个需要长时间工作的循环。)我们可以根据自己的需要更改myHandler()中的操作以针对不同的信号实现个性化的处理。定时发出SIGALRM信号一个有用的函数是signal.alarm()它被用于在一定时间之后向进程自身发送SIGALRM信号:import signal# Define signal handler functiondef myHandler(signum, frame):print(Now, its the time)exit()# register signal.SIGALRMs handlersignal.signal(signal.SIGALRM, myHandler)signal.alarm(5)while True:print(not yet)我们这里用了一个无限循环以便让进程持续运行。在signal.alarm()执行5秒之后进程将向自己发出SIGALRM信号随后信号处理函数myHandler开始执行。发送信号signal包的核心是设置信号处理函数。除了signal.alarm()向自身发送信号之外并没有其他发送信号的功能。但在os包中有类似于linux的kill命令的函数分别为os.kill(pid, sid)os.killpg(pgid, sid)分别向进程和进程组(见Linux进程关系)发送信号。sid为信号所对应的整数或者singal.SIG*。实际上signal, pausekill和alarm都是Linux应用编程中常见的C库函数在这里我们只不过是用Python语言来实现了一下。实际上Python 的解释器是使用C语言来编写的所以有此相似性也并不意外。此外在Python 3.4中signal包被增强信号阻塞等功能被加入到该包中。我们暂时不深入到该包中。总结signal.SIG*signal.signal()signal.pause()  signal.pause阻塞函数让进程暂停以等待信号也就时阻塞进程执行简单来说当接收到信号后使进程停止。signal.alarm()  常用作定时器time为时间参数单位为秒SIGINT 表示终止进程SIGQUIT 表示退出进程SIGSTP 表示暂停进程SIGKILL 表示结束某个进程不能被忽略处理。SIGALRM 表示时钟信号常用作定时器time为时间参数单位为秒。SIGSTOP表示停止某个进程且不能被忽略处理。SIGCHLD表示子进程发送给父进程信号SIGCONT 继续执行暂停的进程SIGINT     终止进程     中断进程不可通过signal.signal()捕捉(相当于CtrlC)SIGTERM    终止进程     软件终止信号可通过signal.signal()捕捉(默认信号当os.kill()没有指明信号类型时默认的是该信号)SIGKILL    终止进程     杀死进程不可捕捉(相当于linux下的kill命令windows下使用会抛出异常)SIGALRM    闹钟信号     可以通过signal.alarm()和os.kill()发送该信号可通过signal.signal()捕捉windows下只能使用这几个信号SIGABRTSIGFPESIGILLSIGINTSIGSEGVSIGTERM
http://www.zqtcl.cn/news/348150/

相关文章:

  • 手机营销网站制作网站建设备案和免备案的区别
  • 浙江省住房和城乡建设厅网站打不开中国建设银行官网站纪念币预约
  • 推广软件的网站安徽省城乡建设网站
  • 用网站做淘宝客怎么样珍爱网
  • 龙岩建设局招聘网站网站dns解析失败
  • 音乐网站的音乐怎么做深圳美容网站建设
  • 贵阳市观山湖区网站建设wordpress博客vieu模板
  • 怎么区分网站的好坏网站建设营销型号的区别
  • wordpress固定链接 中文建设网站优化
  • 东莞地产网站建设简述建设iis网站的基本过程
  • 外贸网站建设 公司价格怎样在手机上制作网站
  • 网站建设电话销售录音企业做网站有什么用
  • 网站布局设计软件软件工程大学排名
  • 自己的网站做防伪码深圳软件开发公司招聘
  • 网上购物网站大全wordpress文本悬停变色
  • 科技类公司网站设计如何做各大网站广告链接
  • 深圳做h5网站制作奢侈品网站设计
  • 用什么程序做网站佛山网站建设慕枫
  • 萍乡网站建设哪家公司好惠州开发做商城网站建设哪家好
  • 2021半夜好用的网站在菲做平台网站
  • 国家排污许可网站台账怎么做wordpress表单位插件
  • 如何构建成交型网站wordpress搭建英文网站
  • 阿里云网站建设方案书怎么写四川做网站公司哪家好
  • 提供衡水网站建设wordpress游客看小图登陆查看大图
  • 网站开发优势wordpress 密码破解
  • 做网站空间需要多大深圳服装网站建设
  • 建网站wordpress制作app多少钱一个
  • 怎么做装修网站torrentkitty磁力猫
  • 网站建立站点wordpress手机网站模板制作
  • 宁夏建设工程招标投标信息网站教师做网站赚钱