日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Python 用一个脚本来控制另一个脚本的运行、关闭

發(fā)布時(shí)間:2024/3/13 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 用一个脚本来控制另一个脚本的运行、关闭 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、一開始按照網(wǎng)上教程,使用subprocess來實(shí)現(xiàn)另外一個(gè)腳本的運(yùn)行和關(guān)閉,但是這個(gè)腳本在連續(xù)運(yùn)行的時(shí)候不容易返回?cái)?shù)據(jù),判斷腳本運(yùn)行的狀態(tài)

2、使用笨方法,用os.system運(yùn)行腳本,使用os.kill(pid)殺死進(jìn)程的方法關(guān)閉腳本的運(yùn)行,這樣就可以實(shí)現(xiàn)在一個(gè)腳本里面控制其他腳本的開啟和運(yùn)行了。當(dāng)前這個(gè)方法在linux系統(tǒng),如ubuntu18.04中跑,不存在問題

代碼樣例:

需要運(yùn)行的腳本---run.py

import time count=0 con=True while con:now time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))count+=1print(count,now_time)time.sleep(1)

寫的控制運(yùn)行腳本的腳本代碼---control.py

import os,signal import timedef get_now_time():# 獲取當(dāng)前的本地時(shí)間now_time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))return now_timedef kill(pid):print('pid',pid)# pgid=os.getpgid(pid)# print(pgid)# a = os.killpg(pgid,signal.SIGKILL)a = os.kill(pid,signal.SIGKILL)print('已殺死pid為%s的進(jìn)程, 返回值是:%s' % (pid, a))def kill_target(target):cmd_run="ps aux | grep {}".format(target)out=os.popen(cmd_run).read()for line in out.splitlines():print(line)if '另外判斷殺死進(jìn)行所在的路徑' in line:pid = int(line.split()[1])kill(pid) # 建議在運(yùn)行命令后面加上&符號(hào),似乎是以另一個(gè)線程跑 os.system('python ./run.py &') while True:# 關(guān)閉if some_condition:print('暫停')kill_target('run.py')# 打開if some_else_condition:os.system('python ./run.py &')

?

總結(jié)

以上是生活随笔為你收集整理的Python 用一个脚本来控制另一个脚本的运行、关闭的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。