这是程序的要点:
while(true)
{
//bunch of codes that gets data from port ,
//if there is no data it waits here .
}
我用的是linux,有没有内置的支持像Ctrl+C这样的按键。我可以使用signal(SIGINT, signal_callback_handler);捕捉到这一点,但是Ctrl+C有一些问题,因为它会给出错误。
我想在按键时跳出这个循环,这是可能的吗?如果是,如何操作。
我在mongodb中使用mongodb和spring-data,通过admin数据库连接Authentication后的多个数据。每隔几个小时,mongod服务就会中断。当它关闭时,我会得到以下日志:
2017-01-17T18:12:45.785+0000 I CONTROL [main] ***** SERVER RESTARTED *****
2017-01-17T18:12:45.789+0000 I CONTROL [initandlisten] MongoDB starting : pid=32207 port=27017 dbpath=/var/lib/mongodb 64-
那么,假设我有这样的代码:
import signal
from time import sleep
def signalHandler(sig, frame):
print "signalHandler"
while True:
sleep(1)
#print "Caught" # Uncomment this line, and you get multiple signals - commented, you don't.
signal.signal(signal.SIGINT, signalHa