青青草免费线看线看|啊在车上停不下来了|国产少女免费观看电视剧|仑乱88MAV|精品老司机在线观看视频|国产一区二区三区高清免费视频|在线观看免费777av

python進(jìn)程類subprocess的一些操作方法例子

Python的subprocess模塊提供了一些操作子進(jìn)程的方法,這些方法可以啟動子進(jìn)程、等待子進(jìn)程結(jié)束、向子進(jìn)程發(fā)送信號等 。本文將從啟動子進(jìn)程、等待子進(jìn)程結(jié)束、向子進(jìn)程發(fā)送信號三個(gè)方面,介紹subprocess模塊的一些常用操作方法 。

python進(jìn)程類subprocess的一些操作方法例子


啟動子進(jìn)程
使用subprocess模塊啟動子進(jìn)程有兩種方法,一種是使用Popen類 , 一種是使用call函數(shù) 。Popen類更加靈活,適用于啟動后需要長時(shí)間運(yùn)行的子進(jìn)程 。call函數(shù)則更加簡潔 , 適用于啟動后只需要短時(shí)間運(yùn)行的子進(jìn)程 。以下分別介紹兩種方法:
使用Popen類啟動子進(jìn)程:
【python進(jìn)程類subprocess的一些操作方法例子】import subprocess
p = subprocess.Popen(['echo', 'hello world'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
print(out.decode('utf-8'))
print(err.decode('utf-8'))
使用call函數(shù)啟動子進(jìn)程:
import subprocess
subprocess.call(['echo', 'hello world'])
等待子進(jìn)程結(jié)束
使用subprocess模塊啟動子進(jìn)程后,我們通常需要等待子進(jìn)程運(yùn)行結(jié)束,然后獲取子進(jìn)程的返回值 。subprocess模塊提供了Popen.wait()函數(shù)和Popen.returncode屬性來實(shí)現(xiàn)這個(gè)功能 。以下是一個(gè)示例:
import subprocess
p = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)
p.wait()
print(p.returncode)
向子進(jìn)程發(fā)送信號
我們可以使用subprocess模塊向子進(jìn)程發(fā)送信號,常見的信號包括SIGTERM、SIGINT、SIGKILL等 。以下是一個(gè)將子進(jìn)程結(jié)束的示例:
import subprocess
p = subprocess.Popen(['sleep', '10'])
p.terminate()
summary: 本文介紹了python進(jìn)程類subprocess的一些常用操作方法 。從啟動子進(jìn)程、等待子進(jìn)程結(jié)束、向子進(jìn)程發(fā)送信號三個(gè)方面,分別介紹了subprocess模塊的Popen類、call函數(shù)、wait()函數(shù)、returncode屬性、terminate()函數(shù)等操作方法 。

    猜你喜歡