小编ren*_*ish的帖子

python源代码中的sys模块在哪里?

我在python源目录中找到了大多数python模块,在Python/Lib或Python/Modules下,但是sys(import sys)模块在哪里?我没找到它.

python module

7
推荐指数
2
解决办法
2万
查看次数

为什么这个python程序有时候无法退出?

我写了一个测试程序,它有两个进程.父进程从队列中获取数据,子进程将数据放入其中.有一个信号处理程序告诉程序退出.但是,当我将信号SIGTERM发送到我打印的pid(子进程)时,它有时不会退出,它似乎有一个死锁.

import os
import sys 
import multiprocessing
import time
import signal

bStop = False
def worker(que):
    signal.signal(signal.SIGTERM,sighandler)
    print 'worker:',os.getpid()
    for i in range(100000000):
        que.put(i)

    print 'STOP'

def sighandler(num,frame):
    print 'catch signal'
    q.put('STOP')
    sys.exit(0)
q = multiprocessing.Queue(100)
p = multiprocessing.Process(target=worker,args=(q,))
p.start()

for item in iter(q.get,'STOP'):
    print 'get',item
    pass
print 'main stop'
p.join()
Run Code Online (Sandbox Code Playgroud)

python queue signals multiprocessing

6
推荐指数
1
解决办法
566
查看次数

如何使用mongodb,php驱动程序获取受影响的行数

我有两个问题:如何通过php mongodb驱动程序获取受影响的行,以及最后一个插入ID如何?谢谢 .

mongodb

5
推荐指数
1
解决办法
3925
查看次数

python如何处理信号?

在python中处理信号的工作流程是什么?我设置了一个信号处理程序,当信号出现时,python如何调用我的函数?操作系统是否像C程序一样调用它?如果我在python的C扩展中,是否立即中断?


现在我很清楚python进程如何处理信号.当您通过信号模块设置信号时,模块将注册一个函数signal_handler(请参阅$ src/Modules/signalmodule.c),它设置您的处理程序并将其标记为1(Handlers[sig_num].tripped = 1;),然后调用Py_AddPendingCall告诉python解释器.python解释器将调用Py_MakePendingCalls来调用PyErr_CheckSignals,它在main循环中调用你的函数(参见$ src/Python/ceval.c).如果你想谈谈这个,请与我沟通:renenglish@gmail.com

python signals extend

5
推荐指数
1
解决办法
1476
查看次数

TCP写入的连接时间(netstat显示为ESTABLISHED)

我做了一个实验:
服务器侦听端口8804接受客户端的连接,然后无限地向客户端发送数据.我关闭了网络.

  1. 当我运行netstat -anotp | grep 8804,它表明服务器和客户端上的连接都是"ESTABLISHED",但是没有数据传输.
  2. 一段时间后,服务器抛出一个错误:"连接超时"
  3. netstat -anotp | grep 8804,发现客户端仍然"ESTABLISHED"

所以:
1.为什么在系统上阻塞的服务器调用"write"会抛出"Connection timeout"错误.为什么不是客户?
2.如何让客户端找到连接实际上是关闭的.
3.当网络不起作用时,为什么服务器和客户端的状态都"已建立"?

感谢您的回答 !

c sockets networking timeout tcp

3
推荐指数
1
解决办法
4324
查看次数

标签 统计

python ×3

signals ×2

c ×1

extend ×1

module ×1

mongodb ×1

multiprocessing ×1

networking ×1

queue ×1

sockets ×1

tcp ×1

timeout ×1