<p>我想换掉这个丑陋的街区:</p>
<pre><code>import signal
signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)
signal.signal(signal.SIGQUIT, signal_handler)
signal.signal(signal.SIGILL, signal_handler)
signal.signal(signal.SIGPIPE, signal_handler)
</code></pre>
<p>有了这个:</p>
^{pr2}$
<p>不幸的是,python抛出:</p>
<pre><code>File "./mysuperfile.py", line 107, in <module>
for sig in (SIGINT, SIGTERM, SIGQUIT, SIGILL, SIGPIPE):
NameError: name 'SIGINT' is not defined
</code></pre>
<p>我也试过</p>
<pre><code>from signal import signal, SIGINT, SIGTERM, SIGQUIT, SIGILL, SIGPIPE
</code></pre>
<p>。。但这引发了:</p>
<pre><code> File "./mysuperfile.py", line 108, in <module>
signal.signal(sig, signal_handler)
AttributeError: 'builtin_function_or_method' object has no attribute 'signal'
</code></pre>
<p>问题:正确的语法是什么?在</p>
<p>谢谢你!在</p>