新聞中心
子進(jìn)程

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、青陽(yáng)網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、青陽(yáng)網(wǎng)絡(luò)營(yíng)銷、青陽(yáng)企業(yè)策劃、青陽(yáng)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供青陽(yáng)建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
很多時(shí)候,子進(jìn)程并不是自身,而是一個(gè)外部進(jìn)程。我們創(chuàng)建了子進(jìn)程后,還需要控制子進(jìn)程的輸入和輸出。當(dāng)試圖通過python做一些運(yùn)維工作的時(shí)候,subprocess簡(jiǎn)直是頂梁柱。
subprocess模塊可以讓我們非常方便地啟動(dòng)一個(gè)子進(jìn)程,然后控制其輸入和輸出。
下面的例子演示了如何在Python代碼中運(yùn)行命令nslookup <某個(gè)域名>,這和命令行直接運(yùn)行的效果是一樣的:
#!/usr/bin/env python
# coding=utf-8
import subprocess
print("$ nslookup www.yangcongchufang.com")
r = subprocess.call(['nslookup', 'www.yangcongchufang.com'])
print("Exit code: ", r)執(zhí)行結(jié)果:
python subcall.py
$ nslookup www.yangcongchufang.com
Server: 219.141.136.10
Address: 219.141.136.10#53
Non-authoritative answer:
Name: www.yangcongchufang.com
Address: 103.245.222.133
('Exit code: ', 0)相關(guān)推薦:《Python視頻教程》
如果子進(jìn)程還需要輸入,則可以通過communicate()方法輸入:
#!/usr/bin/env python
# coding=utf-8
import subprocess
print("$ nslookup")
p = subprocess.Popen(['nslookup'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, err = p.communicate(b"set q=mx\nyangcongchufang.com\nexit\n")
print(output.decode("utf-8"))
print("Exit code:", p.returncode)上面的代碼相當(dāng)于在命令行執(zhí)行命令nslookup,然后手動(dòng)輸入:
set q=mx yangcongchufang.com exit
相關(guān)推薦:
Python中的多進(jìn)程是什么
分享名稱:創(chuàng)新互聯(lián)Python教程:Python中的子進(jìn)程是什么
URL網(wǎng)址:http://www.5511xx.com/article/cdhodjo.html


咨詢
建站咨詢
