proc函数python,proc

python 一个子进程如何得到父进程的状态?

通过pid,下面的procStatus() 在linux 系统查询进程pid 状态,z 代表僵死进程:

成都创新互联专业成都做网站、成都网站建设,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文营销等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。

def procStatus(pid):

for line in open("/proc/%d/status" % pid).readlines():

if line.startswith("State:"):

return line.split(":",1)[1].strip().split(' ')[0]

return None

另外可以用 psutils:

import psutil

p = psutil.Process(the_pid_you_want)

if p.status == psutil.STATUS_ZOMBIE:

....

在python中调用user32.dll的SetWindowsHookExA,第二个参数用什么数据类型?

不太记得了。 刚才查了一下。第二个是一个回调函数。我以前似乎用c++实现过。不过首先是拦载程序的系统调用,将程序做某个系统调用时,会自动调用到我们自己人的DLL。这个叫dll注入。

注入后就开始在windows上加载键盘与鼠标的hook。记着要调用next hook。

如果要用python实现。 可能道理是一样,如果你只是hook自己的程序没有问题,如果要hook别的程序还是需要dll注入。

你搜索一下“在python中控制鼠标”,这里有一段说明。或者是搜索“Windows hook with Python”

其中调用的callback函数是这样子的

def LowLevelMouseProc( nCode, wParam, lParam ):

还有这样的

def KeyboardProc(nCode, wParam, lParam):

我附一份在这里好了。

def run():

global KeyBdHook

global messages

KeyBdHook = HHook()

messages = []

start = time.time()

#Record keystrokes for 2 seconds.

while time.time() (start + 2):

KeyBdHook.hook = SetWindowsHookEx(13, KeyboardProc,

GetModuleHandle(0), 0)

if KeyBdHook.hook == 0:

print 'ERROR: '+str(ctypes.windll.kernel32.GetLastError())

UnhookWindowsHookEx(KeyBdHook.hook)

print messages

def KeyboardProc(nCode, wParam, lParam):

""""""

if nCode 0:

return ctypes.windll.user32.GetNextHookEx(KeyBdHook.hook,

nCode, wParam, lParam)

else:

ctypes.windll.kernel32.RtlMoveMemory(ctypes.addressof(KeyBdHook.kStruct),

ctypes.c_void_p(lParam),

ctypes.sizeof(lParam))

messages.append(KeyBdHook.kStruct)

return ctypes.windll.user32.GetNextHookEx(KeyBdHook.hook,

nCode, wParam, lParam)

def SetWindowsHookEx(idHook, lpFn, hMod, dwThreadId):

WinFunc = ctypes.WINFUNCTYPE(c_ulong, c_ulong, c_ulong, c_ulong)

return ctypes.windll.user32.SetWindowsHookExA(idHook, WinFunc(lpFn), hMod, dwThreadId)

def GetModuleHandle(lpModuleName):

return ctypes.windll.kernel32.GetModuleHandleA(lpModuleName)

def UnhookWindowsHookEx(hHook):

return ctypes.windll.user32.UnhookWindowsHookEx(hHook)

class HHook():

def __init__(self):

self.hook = HHOOK

self.kStruct = KBLLHOOKSTRUCT()

class KBLLHOOKSTRUCT(Structure):

""""""

_fields_ = [("vkCode", c_ulong),

("scanCode", c_ulong),

("flags", c_ulong),

("time", c_ulong),

("dwExtraInfo", POINTER(c_ulong))]

python shell是什么东西

python shell是Python的命令行。

shell中最常用的是ls命令,python对应的写法是:os.listdir(dirname),这个函数返回字符串列表,里面是所有的文件名,不过不包含”.”和”..”。

如果要遍历整个目录的话就会比较复杂一点,在解释器里试一下:

os.listdir(”/”)

[’tmp’, ‘misc’, ‘opt’, ‘root’, ‘.autorelabel’, ’sbin’, ’srv’,‘.autofsck’, ‘mnt’, ‘usr’, ‘var’, ‘etc’, ’selinux’, ‘lib’, ‘net’,‘lost+found’, ’sys’, ‘media’, ‘dev’, ‘proc’, ‘boot’, ‘home’, ‘bin’]

就像这样,接下去所有命令都可以在python的解释器里直接运行观看结果。

扩展资料:

python shell对应于shutil.copy(src,dest),这个函数有两个参数,参数src是指源文件的名字,参数dest则是目标文件或者目标目录的名字。

如果dest是一个目录名,就会在那个目录下创建一个相同名字的文件。与shutil.copy函数相类似的是shutil.copy2(src,dest),不过copy2还会复制最后存取时间和最后更新时间。

不过,shell的cp命令还可以复制目录,python的shutil.copy却不行,第一个参数只能是一个文件。

其实,python还有个shutil.copytree(src,dst[,symlinks])。参数多了一个symlinks,它是一个布尔值,如果是True的话就创建符号链接。

移动或者重命名文件和目录,shutil.move(src,dst),与mv命令类似,如果src和dst在同一个文件系统上,shutil.move只是简单改一下名字,如果src和dst在不同的文件系统上,shutil.move会先把src复制到dst,然后删除src文件。

参考资料:Python—百度百科

python使用cx_oracle调用存储过程的问题

zs = cursor.var(cx_Oracle.CURSOR)

cursor.callproc('proc_query_news',[zs])

第二个参数是游标啊,其他参数放后面,没有可以省略


网页标题:proc函数python,proc
本文来源:http://myzitong.com/article/dsgjidj.html