午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > Python中判斷subprocess調(diào)起的shell命令是否結(jié)束

Python中判斷subprocess調(diào)起的shell命令是否結(jié)束

熱門標(biāo)簽:315電話機(jī)器人廣告 南京銷售外呼系統(tǒng)軟件 地圖制圖標(biāo)注位置改變是移位嗎 地圖標(biāo)注的意義點(diǎn) 上海機(jī)器人外呼系統(tǒng)哪家好 蓋州市地圖標(biāo)注 房產(chǎn)電銷外呼系統(tǒng) 地圖標(biāo)注微信發(fā)送位置不顯示 浙江電銷卡外呼系統(tǒng)好用嗎

前言

最近在使用subprocess遇到個問題,折騰了好半天才找到簡單的解決辦法,在這里記錄下。

環(huán)境

Python:2.7.10

庫:subprocess, logging

問題

使用subprocess的Popen類來執(zhí)行shell命令,要怎么樣才能知道命令執(zhí)行結(jié)束了,以此來執(zhí)行回調(diào)方法。

解決辦法

使用subprocess.Popen.poll方法來獲取命令的執(zhí)行情況。

poll方法的返回值有兩種情況   

1. 當(dāng)命令未運(yùn)行結(jié)束的時候,返回None   

2. 當(dāng)命令結(jié)束時,返回命令的返回值

演示

這里使用logging模塊來輔助顯示命令執(zhí)行時間

分別使用兩種調(diào)用shell命令的方式來測試

shell=True

shell=False

完整演示

補(bǔ)充:system函數(shù)返回(如何判斷調(diào)用的shell命令是否執(zhí)行成功)

例:

status = system("./test.sh");

1、先統(tǒng)一兩個說法:

(1)system返回值:指調(diào)用system函數(shù)后的返回值,比如上例中status為system返回值

(2)shell返回值:指system所調(diào)用的shell命令的返回值,比如上例中,test.sh中返回的值為shell返回值。

2、如何正確判斷test.sh是否正確執(zhí)行?

僅判斷status是否==0?或者僅判斷status是否!=-1?

都錯!

3、man中對于system的說明

RETURN VALUE

The value returned is -1 on error (e.g. fork() failed), and the return

status of the command otherwise. This latter return status is in the

format specified in wait(2). Thus, the exit code of the command will

be WEXITSTATUS(status). In case /bin/sh could not be executed, the

exit status will be that of a command that does exit(127).

看得很暈吧?

system函數(shù)對返回值的處理,涉及3個階段:

階段1:創(chuàng)建子進(jìn)程等準(zhǔn)備工作。如果失敗,返回-1。

階段2:調(diào)用/bin/sh拉起shell腳本,如果拉起失敗或者shell未正常執(zhí)行結(jié)束(參見備注1),原因值被寫入到status的低8~15比特位中。system的man中只說明了會寫了127這個值,但實測發(fā)現(xiàn)還會寫126等值。

階段3:如果shell腳本正常執(zhí)行結(jié)束,將shell返回值填到status的低8~15比特位中。

備注1:

只要能夠調(diào)用到/bin/sh,并且執(zhí)行shell過程中沒有被其他信號異常中斷,都算正常結(jié)束。

比如:不管shell腳本中返回什么原因值,是0還是非0,都算正常執(zhí)行結(jié)束。即使shell腳本不存在或沒有執(zhí)行權(quán)限,也都算正常執(zhí)行結(jié)束。

如果shell腳本執(zhí)行過程中被強(qiáng)制kill掉等情況則算異常結(jié)束。

如何判斷階段2中,shell腳本是否正常執(zhí)行結(jié)束呢?系統(tǒng)提供了宏:WIFEXITED(status)。如果WIFEXITED(status)為真,則說明正常結(jié)束。

如何取得階段3中的shell返回值?你可以直接通過右移8bit來實現(xiàn),但安全的做法是使用系統(tǒng)提供的宏:WEXITSTATUS(status)。

由于我們一般在shell腳本中會通過返回值判斷本腳本是否正常執(zhí)行,如果成功返回0,失敗返回正數(shù)。

所以綜上,判斷一個system函數(shù)調(diào)用shell腳本是否正常結(jié)束的方法應(yīng)該是如下3個條件同時成立:

(1)-1 != status

(2)WIFEXITED(status)為真

(3)0 == WEXITSTATUS(status)

注意:

根據(jù)以上分析,當(dāng)shell腳本不存在、沒有執(zhí)行權(quán)限等場景下時,以上前2個條件仍會成立,此時WEXITSTATUS(status)為127,126等數(shù)值。

所以,我們在shell腳本中不能將127,126等數(shù)值定義為返回值,否則無法區(qū)分中是shell的返回值,還是調(diào)用shell腳本異常的原因值。shell腳本中的返回值最好多1開始遞增。

判斷shell腳本正常執(zhí)行結(jié)束的健全代碼如下:

#include  stdio.h>
#include  stdlib.h> 
int main() 
{ 
    pid_t status;   
    status = system("./test.sh"); 
    if(status == -1)
    {
 printf("system error... \n");
     }
 else
 {
            if(WIFEXITED(status))
     {
                if(0 == WEXITSTATUS(status))
         {
                    printf("run  successfully... \n");
                }
  else
  {
                    printf("run failed %d \n",WEXITSTATUS(status));
                 }
             }
      else
     {
                printf("exit code %d \n",WEXITSTATUS(status));
            }
 }
    return 0;
 } 

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 詳談python中subprocess shell=False與shell=True的區(qū)別
  • python3通過subprocess模塊調(diào)用腳本并和腳本交互的操作
  • python subprocess pipe 實時輸出日志的操作
  • 通過實例解析python subprocess模塊原理及用法
  • 使用python執(zhí)行shell腳本 并動態(tài)傳參 及subprocess的使用詳解
  • python中的subprocess.Popen()使用詳解
  • 解決python subprocess參數(shù)shell=True踩到的坑

標(biāo)簽:赤峰 陽泉 金華 日照 臨汾 克拉瑪依 雙鴨山 貴州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python中判斷subprocess調(diào)起的shell命令是否結(jié)束》,本文關(guān)鍵詞  Python,中,判斷,subprocess,調(diào)起,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python中判斷subprocess調(diào)起的shell命令是否結(jié)束》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python中判斷subprocess調(diào)起的shell命令是否結(jié)束的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产清纯白嫩初高生在线观看91 | 国产精品国产三级国产aⅴ| 亚洲成人福利视频| 久久久久久久久久久免费视频| 国产精品69久久久| 男人c女人视频| 日韩伦理在线免费观看| 天天操天天爱天天爽| 91免费视频污| 免费看91视频| 国产伦理片在线观看| 无码人妻精品中文字幕| 精品91久久久| 国产精品系列视频| 可以看av的网站久久看| 快she精品国产999| 99久久精品免费看| 国产色爱av资源综合区| 亚洲经典一区二区三区| 国产三级理论片| 日日夜夜精品视频天天综合网| 韩国三级在线一区| 26uuu国产一区二区三区 | 日韩精品一卡二卡三卡四卡无卡| 国产成人精品免费一区二区| ww久久中文字幕| 欧美性极品xxxx娇小| 欧美一二三区在线观看| 久久亚洲电影天堂| 国产精品va在线播放| 国产传媒欧美日韩| 亚洲人精品午夜射精日韩| 亚洲中文字幕久久精品无码喷水| 一本色道综合久久欧美日韩精品| 国产视频精品免费| www.久久伊人| 午夜毛片在线观看| 久久人妻免费视频| 麻豆专区一区二区三区四区五区| 国产日韩欧美精品在线| 欧美另类z0zxhd电影| 久久伊人精品视频| 九色综合日本| 天美星空大象mv在线观看视频| 亚洲人人夜夜澡人人爽| 一区二区三区黄色片| 国产福利精品导航| 欧美性猛交xxxxx免费看| 久久久91精品| 国产麻豆一区二区三区在线观看| 国产美女主播在线播放| 2017亚洲天堂| 国产av精国产传媒| 亚洲天堂avav| 蜜桃视频在线一区| 欧美日韩亚洲视频一区| 这里只有精品丝袜| 国产久一道中文一区| 国产午夜大地久久| 成年人午夜视频| 99久久精品一区二区| 在线观看www91| 久久频这里精品99香蕉| 国产尤物av一区二区三区| 亚洲午夜精品久久久久久高潮| 中文天堂在线视频| 国产欧美一区二区在线| 亚洲免费中文字幕| 日本三级中国三级99人妇网站| 少妇性l交大片7724com| 国产精品天天操| 亚洲人亚洲人成电影网站色| 日韩麻豆第一页| 日韩高清国产精品| 日本二区在线观看| 久久福利资源站| 日韩欧美不卡在线观看视频| 精品国产露脸精彩对白| 久久精品中文字幕电影| 日韩偷拍一区二区| 精品国产大片大片大片| 免费高清在线一区| 在线日韩av片| 99影视tv| 国产精品熟妇一区二区三区四区| 人妻一区二区三区| 性感美女久久精品| 国产精品嫩草影院久久久| 两性午夜免费视频| 国产av一区二区三区| 色国产精品一区在线观看| 8050国产精品久久久久久| 在线观看17c| 狠狠人妻久久久久久| 一区二区高清免费观看影视大全 | a天堂视频在线观看| 国产在线精品一区在线观看麻豆| 亚洲国产精品久久久久秋霞不卡| 亚洲一区二区三区四区在线播放| 99久久人妻精品免费二区| 日韩高清不卡一区二区三区| 日韩女优av电影| 蜜桃成人在线| 日本三级欧美三级| 亚洲一区av在线| 91久久久亚洲精品| 欧美狂猛xxxxx乱大交3| 久久免费偷拍视频| 久久久久久久一| 国产精品一区二区久久| 日韩在线一级片| 欧美视频在线观看一区二区三区| 亚洲国产综合人成综合网站| 91香蕉嫩草影院入口| 欧洲美一区二区三区亚洲| xf在线a精品一区二区视频网站| 久久综合久久八八| 国产ts在线观看| 久久亚洲精品国产精品紫薇| 欧美成人一二三| 日本美女视频网站| 欧美国产欧美综合| 444亚洲人体| 国产农村妇女aaaaa视频| 欧美天天综合色影久久精品| 久久久婷婷一区二区三区不卡| 午夜婷婷在线观看| 欧美伊人久久大香线蕉综合69| 神马影院一区二区| 日日摸天天添天天添破| 制服丝袜av成人在线看| 日韩video| 婷婷开心激情网| 亚洲无av在线中文字幕| 九色自拍视频在线观看| 日韩成人av影视| 久久久久国产视频| a级黄色免费视频| 亚洲激情中文1区| 精品麻豆av| 国产偷人妻精品一区二区在线| 亚洲乱码国产乱码精品精| 精品久久久久久久免费人妻| 青娱乐精品视频在线| 欧美另类高清videos| 国产精品无码一区二区三区免费 | 国产一区二区三区久久久| 欧美一乱一性一交一视频| 91视频免费在观看| 在线观看一区不卡| 亚洲无吗一区二区三区| 国产精品久久网站| 香蕉久久夜色| 久久精品中文| 国产精品成人在线| 日本三级2019| 亚洲福利视频二区| 中文字幕一区二区三区人妻电影| 亚洲人精品一区| 波多野结衣激情| 成人综合婷婷国产精品久久| 亚洲一区二区久久久久久久| a在线观看免费| 色婷婷av一区| 国产喷水theporn| 一区二区三区在线视频观看58| 在线观看日本一区| 成人污视频在线观看| 国产视色精品亚洲一区二区| 婷婷伊人综合中文字幕| 欧美综合第一页| 黄色大全在线观看| 欧美另类老女人| 亚洲影院在线播放| 欧美日韩国产91| 日本一区二区三区免费视频| 在线精品播放av| 精品视频第一页| 3d成人h动漫网站入口| 911av视频| 日韩欧美在线视频观看| 中国免费黄色片| 欧美三级日本三级少妇99| 欧美一级大片免费看| 欧美无砖砖区免费| 国产精品20p| 亚洲人精选亚洲人成在线| 国产福利久久久| 欧美激情精品久久久久久久变态| 奴色虐av一区二区三区| 久久成年人视频| 久久久久久久久久一级| 成人久久久久久久| 日韩av一二三| 天堂av一区二区| 久久色.com| 777久久久精品一区二区三区| 亚洲一区二区三区自拍| 极品白嫩少妇无套内谢| 亚洲国产精彩中文乱码av| 免费一级肉体全黄毛片| 日韩精品中文字幕久久臀| 日韩欧美a级片| 97激碰免费视频| 国产 日韩 欧美 综合| 亚洲专区在线视频| 成人综合在线观看| 免费高清在线观看免费| 欧美在线观看视频在线| 熟女俱乐部一区二区| 日韩在线观看av| 精品人妻av一区二区三区| 国语精品中文字幕| 国产精品欧美经典| 在线观看一区二区三区视频| 国产一区二区三区四区福利| 国产人妖一区二区三区| 色一情一乱一伦一区二区三区| 欧美激情一区二区三区在线| 韩国av中国字幕| 亚洲人成自拍网站| 亚洲产国偷v产偷v自拍涩爱| 国内视频一区| 国产精品伦一区二区三级视频| 日本久久久久久久久久| 色噜噜狠狠色综合网图区| 午夜精品在线播放| 一区二区日本| 欧美另类久久久品| 亚洲国产无线乱码在线观看| 激情五月综合色婷婷一区二区| 国产欧美一区二区在线| 三级网站免费看| 国产丝袜精品视频| av一区二区三| 99久久免费观看| 欧美成人精精品一区二区频| 日本丰满少妇做爰爽爽| 日韩精品欧美专区| 欧美视频日韩视频在线观看| 91浏览器在线观看| 亚洲国产精品久久| 人妻va精品va欧美va| 国产精品夜夜夜爽张柏芝| 欧美剧情片在线观看| 午夜精品一区二| 欧美一区二区综合| 亚洲国产视频网站| 波多野结衣啪啪| 欧美精品成人一区二区在线观看| 国产亲近乱来精品视频| 少妇被躁爽到高潮无码文| 久久久999国产精品| 国产一区在线观看免费| 欧美日本韩国一区二区三区视频| japanese国产在线观看| 五月天色婷婷综合| 亚洲精品少妇网址| 久久99久久久久| 亚洲最大天堂网| 91黑丝在线观看| 国产精品亚洲午夜一区二区三区| 四虎国产精品永久免费观看视频| 久久777国产线看观看精品| 国产精品一区在线观看你懂的| 亚洲av无码一区东京热久久| 中文字幕日韩在线视频| 国产精品一区免费视频| 欧美亚洲在线视频| 日韩久久精品视频| 无码人妻aⅴ一区二区三区日本| 精品少妇一区二区三区在线播放 | 26uuu亚洲婷婷狠狠天堂| 免费中文字幕在线| 久久综合伊人77777麻豆| 欧美精品一区视频| 狠狠色伊人亚洲综合成人| 国产xxxx视频| 97国产在线播放| 少妇精品视频一区二区| 精品久久久久久无码国产| 性色av一区二区三区红粉影视| 亚洲福利视频一区| 婷婷av一区二区三区| 丁香激情五月少妇| 中文字幕欧美日韩一区二区三区| 亚洲嫩模很污视频| 亚洲va国产va欧美va观看| 成人网页在线观看| 毛片在线免费视频| 欧美精品 - 色网| 国产综合欧美在线看| 中文字幕亚洲国产| 一二三区精品视频| 日韩在线观看一区二区| 精品女人久久久| 午夜肉伦伦影院| 99国产在线| xxxx性欧美| 91精品国产麻豆| 久久久亚洲高清| 国产99对白在线播放| 日本黄区免费视频观看| 国产一级做a爰片久久| 国产区欧美区日韩区| 久久手机免费视频| 欧美婷婷六月丁香综合色| 国产黄色精品视频| 久久精品无码av| 日本五十肥熟交尾| 97中文字幕在线| 91福利视频导航| 久久亚洲国产精品| 欧美一区二区三区免费视频| 国产精品欧美一级免费| 熟妇人妻一区二区三区四区| 欧美精品久久久久性色| 色婷婷一区二区三区av免费看| 日本不卡一区二区三区在线观看| 91精品成人久久| 永久免费精品影视网站| 欧美久久久久久久久中文字幕| 国产精品福利一区二区三区| 成人av一区二区三区| 少妇人妻偷人精品一区二区| 亚洲一区 欧美| 色哟哟精品视频| 丰满的少妇愉情hd高清果冻传媒| 欧美激情第一页在线观看| 91成人免费观看| 国产免费一区视频观看免费| 91av视频在线观看| 久久精品久久久久电影| 日韩经典第一页| 日韩一区二区麻豆国产| 91.成人天堂一区| 欧美三级欧美一级| 欧美色图12p| 日韩视频国产视频| 欧美亚洲愉拍一区二区| 欧美日韩性视频在线| 亚洲美女免费视频| 成人午夜伦理影院| 国产传媒久久文化传媒| 麻豆成人久久精品二区三区红 | 亚洲国产一区二区a毛片| 欧美肉大捧一进一出免费视频| 日韩精品xxxx| 久久艹国产精品| 777久久精品一区二区三区无码 | av直播在线观看| 中文字幕第17页| av免费网站观看| 奇米影音第四色| 日韩一级免费在线观看| 成人免费视频久久| 日韩一区二区三区不卡视频| 爱福利视频一区二区| av高清在线免费观看| 26uuu成人| 制服丝袜综合日韩欧美| 手机福利在线视频| 欧美精品一区二区性色a+v| 一本色道久久综合亚洲精品婷婷| 欧美一区二区三区在线播放| 久久99国产精品| 国产伦精品一区二区三区照片91| 波多野结衣一区二区三区在线观看| 亚洲一区二区三区777| 春色成人在线视频| 国产日韩欧美一区二区| 久久久久久久久久久久久久久久av| 国产乱码一区| 色一情一乱一伦一区二区三区 | 欧美天堂一区二区三区| 精品久久一区二区三区| 一区二区欧美激情| 久久久久久九九九| 国产在线视频一区| 欧美污视频久久久| 99热成人精品热久久66| www.555国产精品免费| 黄色一级片在线免费观看| 国产高清在线免费| 成人av免费网站| 亚洲最新视频在线观看| 91精品国产全国免费观看| 欧美成aaa人片免费看| 成人av蜜桃| 欧美亚洲一二三区| 天堂av8在线| 91丨porny丨对白| 91香蕉视频污在线观看| 日韩av电影网址| 亚洲欧美综合自拍| 不卡的日韩av| 国产成人综合网| 久久久亚洲高清| 亚洲欧美日韩国产一区二区三区 | 国产一区不卡在线| av在线播放不卡| 久久嫩草精品久久久精品| 国产精品久久毛片a| 欧美午夜影院一区| 亚洲欧美中文字幕| 97久久精品人人澡人人爽缅北| 成人黄色免费看| 亚洲精品白虎| 青青草原国产在线视频| 午夜三级在线观看|