通過(guò)pid,下面的procStatus() 在linux 系統(tǒng)查詢進(jìn)程pid 狀態(tài),z 代表僵死進(jìn)程:

成都創(chuàng)新互聯(lián)專業(yè)成都做網(wǎng)站、成都網(wǎng)站建設(shè),集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營(yíng)銷、軟文營(yíng)銷等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計(jì)制作為您帶來(lái)效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
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:
....
不太記得了。 剛才查了一下。第二個(gè)是一個(gè)回調(diào)函數(shù)。我以前似乎用c++實(shí)現(xiàn)過(guò)。不過(guò)首先是攔載程序的系統(tǒng)調(diào)用,將程序做某個(gè)系統(tǒng)調(diào)用時(shí),會(huì)自動(dòng)調(diào)用到我們自己人的DLL。這個(gè)叫dll注入。
注入后就開(kāi)始在windows上加載鍵盤與鼠標(biāo)的hook。記著要調(diào)用next hook。
如果要用python實(shí)現(xiàn)。 可能道理是一樣,如果你只是hook自己的程序沒(méi)有問(wèn)題,如果要hook別的程序還是需要dll注入。
你搜索一下“在python中控制鼠標(biāo)”,這里有一段說(shuō)明。或者是搜索“Windows hook with Python”
其中調(diào)用的callback函數(shù)是這樣子的
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中最常用的是ls命令,python對(duì)應(yīng)的寫法是:os.listdir(dirname),這個(gè)函數(shù)返回字符串列表,里面是所有的文件名,不過(guò)不包含”.”和”..”。
如果要遍歷整個(gè)目錄的話就會(huì)比較復(fù)雜一點(diǎn),在解釋器里試一下:
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的解釋器里直接運(yùn)行觀看結(jié)果。
擴(kuò)展資料:
python shell對(duì)應(yīng)于shutil.copy(src,dest),這個(gè)函數(shù)有兩個(gè)參數(shù),參數(shù)src是指源文件的名字,參數(shù)dest則是目標(biāo)文件或者目標(biāo)目錄的名字。
如果dest是一個(gè)目錄名,就會(huì)在那個(gè)目錄下創(chuàng)建一個(gè)相同名字的文件。與shutil.copy函數(shù)相類似的是shutil.copy2(src,dest),不過(guò)copy2還會(huì)復(fù)制最后存取時(shí)間和最后更新時(shí)間。
不過(guò),shell的cp命令還可以復(fù)制目錄,python的shutil.copy卻不行,第一個(gè)參數(shù)只能是一個(gè)文件。
其實(shí),python還有個(gè)shutil.copytree(src,dst[,symlinks])。參數(shù)多了一個(gè)symlinks,它是一個(gè)布爾值,如果是True的話就創(chuàng)建符號(hào)鏈接。
移動(dòng)或者重命名文件和目錄,shutil.move(src,dst),與mv命令類似,如果src和dst在同一個(gè)文件系統(tǒng)上,shutil.move只是簡(jiǎn)單改一下名字,如果src和dst在不同的文件系統(tǒng)上,shutil.move會(huì)先把src復(fù)制到dst,然后刪除src文件。
參考資料:Python—百度百科
zs = cursor.var(cx_Oracle.CURSOR)
cursor.callproc('proc_query_news',[zs])
第二個(gè)參數(shù)是游標(biāo)啊,其他參數(shù)放后面,沒(méi)有可以省略
本文題目:proc函數(shù)python,proc
標(biāo)題路徑:http://chinadenli.net/article17/dsgjidj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)頁(yè)設(shè)計(jì)公司、用戶體驗(yàn)、搜索引擎優(yōu)化、小程序開(kāi)發(fā)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)