Why is signal.SIGALRM not working in Python on windows?

一个人想着一个人 提交于 2019-12-05 09:08:55

Is there any specific reason why singal.SIGALRM is not working on windows?

Yes, Windows OS doesn't implement that signal. The example you found starts with:

Here is a minimal example program. It uses the alarm() function to limit the time spent waiting to open a file; [...]

and the signal.alarm() function is documented as:

Availability: Unix.

Next, the SIG* section elsewhere on the module documentation page states:

Note that not all systems define the same set of signal names; only those names defined by the system are defined by this module.

So SIGALRM is not available on Windows so you get an attribute error instead.

Note that Windows also does not have a /dev virtual filesystem, so the os.open('/dev/ttyS0', os.O_RDWR) call would fail too.

See python: windows equivalent of SIGALRM for an alternative using threads.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!