2013-05-04 41 views
4

即使我在Cygwin中運行python腳本,Python信號在Windows上似乎也不起作用。我得到了AttributeError: 'module' object has no attribute SIGALRM即使在Cygwin上,Python信號也不起作用?

有沒有辦法在Windows上繞過這個。我只是在http://docs.python.org/2/library/signal.html的末尾運行示例

+1

通過Cygwin安裝Python嗎? – Blender 2013-05-04 06:45:10

+2

一個信號是一個Posix的東西,很可能不會在Windows上工作。 Cygwin只是翻譯層,可能不會將信號語義翻譯成Windows使用的任何語言(但我不確定,我必須測試它)。 – Keith 2013-05-04 06:47:07

+0

事實上,通過Cygwin安裝Python(setup-x86_64.exe在我的案例中)爲我解決了這個問題。 – 2016-11-17 00:12:02

回答

6

SIGALRM在Windows中不起作用。從documentation

在Windows中,信號()只能用SIGABRT,SIGFPE,SIGILL,SIGINT,SIGSEGV,或SIGTERM調用。任何其他情況下都會引發ValueError。

This question解決在Windows中獲得SIGALRM等效的主題。 this question也類似。

+0

爲什麼[此代碼]在Python 2上工作(http://stackoverflow.com/questions/366682/how-to-limit-execution-time-of-a-function-call-in-python/601168#601168)在Windows上(如果我沒記錯的話),並在Windows上打破Python 3?也許我正在使用通過cygwin安裝的Python ... – 2016-11-16 23:09:54

+0

事實上,安裝Cygwin附帶的Python爲我工作。 – 2016-11-17 00:04:52

相關問題