天天看點

python結束目前程序_python怎麼關閉目前程序

利用指令行對程序進行删除,windows下利用“taskkill /pid ' + str(pid) + ' /f”;linux下利用“kill + str(pid)”

python結束目前程式_python怎麼關閉目前程式

簡介

在 Python 的項目開發中,程式有時會需要管理(例如停止)其它背景程序。

可以通過 os.getpid() 函數以及 os.system() 來實作這一功能。

示例

在同一個目錄下建立 3 個腳本檔案:

1 要停止的程序

建立腳本檔案 count.py ,内容如下:import time

import os

# 擷取程序的pid

pid = os.getpid()

print('pid: ', pid)

# 将pid寫入本地檔案

f1 = open(file='count_pid.txt', mode='w')

f1.write(pid.__str__())

f1.close()、

# 開始計數并列印

n = 0

while True:

n += 1

print(n)

time.sleep(1)

運作這個腳本,這樣就得到了一個在背景持續運作的程序。

2 用來停止程序的函數

建立腳本檔案 kill.py ,内容如下:import os

def kill(pid):

# 本函數用于中止傳入pid所對應的程序

if os.name == 'nt':

# Windows系統

cmd = 'taskkill /pid ' + str(pid) + ' /f'

try:

os.system(cmd)

print(pid, 'killed')

except Exception as e:

print(e)

elif os.name == 'posix':

# Linux系統

cmd = 'kill ' + str(pid)

try:

os.system(cmd)

print(pid, 'killed')

except Exception as e:

print(e)

else:

print('Undefined os.name')

從其它程式中調用這個腳本中定義的 kill() 函數,即可中止指定程序。

3 控制程式

建立腳本檔案 manager.py ,内容如下:from kill import kill

# 讀取pid

f1 = open(file='count_pid.txt', mode='r')

pid = f1.read()

f1.close()

# 調用kill函數,終止程序

kill(pid=pid)

運作這個腳本,就可以讀取到 count.py 對應程序的 pid ,并通過它中止該程序。