我有一个关于信号的问题,以及在运行sql命令时如何处理它们。特别是,我有一个python脚本作为一个进程运行,并在里面创建另一个进程。之后,正在运行数据库检查,并在该数据库内检查表列NULLEGE属性是否正在更改。我必须说,桌子是相当大的......如GB大,而且它变得更大。 当我发送一个术语信号给主进程(运行数据库检查的进程)时,在主进程中创建的第二个进程也应该终止。好吧......在数据库检查正在进行NULLEGE属性更改时,始终会发生这种情况。当这个过程结束时,主进程终止,但是信号处理程序被忽略(不进入处理信号的函数),因此没有SIGTERM被发送到主进程内创建的进程。这就是我如何留下一个卡住的过程。python,信号阻塞,数据库
我的问题:有没有办法阻止信号(如排队他们),而数据库检查正在运行或有另一种方式发送TERM信号到第二个进程使用python?我已经成功地改变了启动python脚本的bash脚本作为一个进程来做一个检查,并在主进程结束后向左进程发送SIGTERM ......但是我不想用这种方式处理它。
还是有办法打断数据库检查?
ps:用于数据库处理sqlalchemy正在Ubuntu下的Python 2.6下使用。
也有人想出了建立该数据库检查到一个子进程,并从而结束了我的问题的想法。但我会看看你的链接,并试图了解那里有什么。谢谢您的回答。 – John11 2011-05-17 10:31:42