亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python subprocess 殺掉全部派生的子進程方法

2020-02-23 04:16:23
字體:
來源:轉載
供稿:網友

下面就是今天下午的研究成果。

發布系統需要響應用戶的中斷請求,需要在GET方法中殺掉由subprocess派生的子進程,剛開始直接用os.kill 發現子進程的子進程無法kill,谷歌了一些,發現kill可以干掉進程組,于是測試,但是默認情況下,subprocess派生的進程組和主程序,也就是我的web.py進程是在一個進程組里的,這要是kill了,那就調的了。

繼續翻google,看subprocess的document時發現這個變量:

subprocess.CREATE_NEW_PROCESS_GROUPA Popen creationflags parameter to specify that a new process group will be created. This flag is necessary for using os.kill() on the subprocess.

This flag is ignored if CREATE_NEW_CONSOLE is specified.

比較高興,以為能解決問題了,結果測試半天,才了解這玩意是only windows的,我去啊,不過想到了,win能做到的,linux肯定也可以,于是定位到

preexec_fn

又是一通google,不是對象嗎,弄了個setpgid(0,0) 測試了,子進程還是和主調進程屬于同一個進程組,后來靈機一動:

preexec_fn = os.setpgrp

這樣竟然解決了新生成進程組的問題。

繼續努力,后面遇到的就是僵死進程的問題了,os.waitpid了一下就解決了。

剛開始waitpid的時候,還在linxu上man了半天,看著linxu手冊里的參數,還是不放心啊,結果python里的os.waitpid竟然沒有那么多參數,而且沒有返回值,簡陋啊。不過正解決了我的問題。

下面是今天的完全測試代碼

 

[liufeng@1.2.3.4 kill-subprocess]$ cat sub-process.py import subprocessimport osimport timedef my_func():#派生兩個子進程,子進程里又派生幾個sleep的孫子進程,主要是為了測試kill進程組。run_str2 = '/bin/sh test.sh'run_str = '/bin/sh test_quick.sh'cmd2 = run_str.split()cmd = run_str.split()#測試了一些個preexec_fn的值,最終發現能用的,對python的對象的概念還是不理解啊,新手,新手。#p = subprocess.Popen(cmd, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = False, creationflags = subprocess.CREATE_NEW_PROCESS_GROUP)#p = subprocess.Popen(cmd, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = False, creationflags = 0)p = subprocess.Popen(cmd, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = False, preexec_fn = os.setpgrp )p2 = subprocess.Popen(cmd2, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = False, preexec_fn = os.setpgrp )#@p = subprocess.Popen(cmd, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = False, preexec_fn = os.setpgid(0, 0) )pid = p.pidpgid = os.getpgid(pid)print "pid: %d/n" %pidprint "pgid: %d/n" %pgidreturn pidpid = my_func()#p.wait()print "now , sleep 2s ,then , os.kill gpid %d" % pidtime.sleep(20)a = os.kill(-pid, 9)print "kill,return:"print a# kill的時候,我測試了kill 沒有權限的root進程,會報錯:權限不允許# 測試了kill p p2 都可以kill#a = os.kill(2445, 9)#print "kill root process 2445 ,return:"#print a#p.wait()#os.waitpid(pgid, 0)# 2445 is a root process#os.waitpid(2445, 0)#os.waitpid(p2.pid, 0)os.waitpid(pid, 0)print "waitpid,return:"print atime.sleep(22)print "done..."#p.terminate()#p.kill()#p.wait()##time.sleep(40)#os.kill(pid, 9)            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线一区二区视频| 成人免费网站在线观看| 欧美视频一二三| 日韩国产在线播放| 中文日韩在线观看| 尤物九九久久国产精品的分类| 久久成人精品一区二区三区| 久久精品国产69国产精品亚洲| 欧美日韩成人在线播放| 亚洲天堂成人在线| 欧美精品亚州精品| 色综合久久88色综合天天看泰| www.日韩视频| 九色精品免费永久在线| 97人洗澡人人免费公开视频碰碰碰| 国产欧美在线观看| 成人精品视频在线| 国产精品中文字幕在线观看| 国产精品视频xxxx| 欧美制服第一页| 久久精品电影一区二区| 国产精品久久精品| 亚洲a区在线视频| 97精品一区二区视频在线观看| 成人激情春色网| 欧美成人三级视频网站| 日韩经典第一页| 国产精品亚洲片夜色在线| xvideos亚洲人网站| 久久视频在线观看免费| 久久久久久久久久久人体| 日韩免费在线免费观看| 欧美一级电影免费在线观看| 亚洲国产小视频| 国产91在线播放九色快色| 亚洲电影天堂av| 国产日韩中文在线| 在线播放日韩av| 欧美影院成年免费版| 日韩在线精品一区| 久久成人av网站| 26uuu亚洲国产精品| 18性欧美xxxⅹ性满足| 国产一区二区三区中文| 久久99视频免费| 久久成人亚洲精品| 亚洲第一精品福利| 97视频在线观看视频免费视频| 亚洲国产天堂久久综合| 国内精品小视频| 亚洲性生活视频| 欧美重口另类videos人妖| 亚洲自拍偷拍网址| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲欧美日本伦理| 97人人模人人爽人人喊中文字| 亚洲的天堂在线中文字幕| 欧美极品美女电影一区| 亚洲香蕉成视频在线观看| 这里只有精品视频| 久久99国产综合精品女同| 川上优av一区二区线观看| 国产成人久久久精品一区| 亚洲综合中文字幕68页| 久久亚洲国产精品| 高清亚洲成在人网站天堂| 成人欧美一区二区三区黑人| 亚洲最大成人免费视频| 亚洲女人天堂视频| 韩国精品美女www爽爽爽视频| 久久在线免费观看视频| 国产精品入口尤物| 日韩性xxxx爱| 夜夜嗨av一区二区三区免费区| 亚洲欧美中文字幕| 精品精品国产国产自在线| 欧美日韩中文字幕| 欧美高清无遮挡| 亚洲第一页在线| 色yeye香蕉凹凸一区二区av| 亚洲欧美国产高清va在线播| 亚洲国产精品999| 亚洲一区二区免费在线| 伊人久久五月天| 日韩欧美福利视频| 国产97在线播放| 欧美与欧洲交xxxx免费观看| 国产va免费精品高清在线观看| 国产精品v日韩精品| 亚洲天堂开心观看| 国产精品激情av电影在线观看| 亚洲精品综合精品自拍| 欧美伦理91i| 日韩美女毛茸茸| 国产日韩欧美在线播放| 97碰碰碰免费色视频| 91亚洲精品久久久久久久久久久久| 亚洲天堂网在线观看| 国产日韩欧美电影在线观看| 亚洲精品永久免费| 国产精品久久久久一区二区| 国产成人综合一区二区三区| 日韩亚洲欧美成人| 日韩欧美主播在线| 亚洲精品免费在线视频| 亚洲一区二区福利| 欧美壮男野外gaytube| 日韩激情片免费| 98精品国产高清在线xxxx天堂| 成人观看高清在线观看免费| 2020久久国产精品| 中日韩美女免费视频网址在线观看| 亚洲专区国产精品| **欧美日韩vr在线| 久久精品视频一| 91精品免费久久久久久久久| 国产综合福利在线| 91亚洲人电影| 成人国产亚洲精品a区天堂华泰| 久久亚洲电影天堂| 亚洲精品99999| 亚洲国产日韩一区| 国产伦精品一区二区三区精品视频| 欧美视频专区一二在线观看| 欧美香蕉大胸在线视频观看| 精品久久久视频| 亚洲欧美日韩中文在线制服| 91av在线免费观看视频| 韩国三级日本三级少妇99| 欧美性理论片在线观看片免费| 九色精品免费永久在线| 51久久精品夜色国产麻豆| 国产精品精品视频| 成人国产在线激情| 欧美中在线观看| 欧美自拍大量在线观看| 97avcom| 精品香蕉一区二区三区| 欧美激情在线观看视频| 色综合久久精品亚洲国产| 国产精品69精品一区二区三区| 久久精品电影网站| 久久久欧美一区二区| 中文在线资源观看视频网站免费不卡| 欧美日韩在线免费| 国产美女搞久久| 欧美高清视频在线播放| 福利微拍一区二区| 欧美性猛交xxxx乱大交3| 福利一区视频在线观看| 国产成人精品一区二区三区| 欧美一二三视频| 久久精品中文字幕电影| 国内精品一区二区三区四区| 91在线视频九色| 91美女高潮出水| 亚洲女人天堂av| 久久久久久久亚洲精品| 亚洲欧洲国产精品| 亚洲欧美国产一本综合首页| 亚洲国产精品国自产拍av秋霞| 中文字幕v亚洲ⅴv天堂| 日韩一二三在线视频播| 91精品国产乱码久久久久久蜜臀|