Python3 實現程式執行狀態的監聽

2021-10-24 04:16:57 字數 1341 閱讀 4590

# -*- coding:utf-8 -*-

import threading

import psutil

import os

import time

'''通過 threading.thread.is_active 判斷執行緒是否退出。

此方法可以用來對程式進行監聽,當程式出現異常退出,重啟程式。

'''class mythread(threading.thread):

def __init__(self, threadid, name, func, param=none):

threading.thread.__init__(self)

self.threadid = threadid

self.name = name

self.func = func

self.param = param

def run(self):

lock = threading.lock()

if lock.acquire(): # 加鎖

if self.param is none:

self.func() # 呼叫傳進來的函式

else:

self.func(self.param)

print(self.name, time.ctime)

lock.release() # 釋放鎖

def test_func():

i = 0

while i < 60:

i += 1

print('i : {}'.format(str(i)))

time.sleep(1)

def check_threading(t1):

'''檢測t1 執行緒是否退出

:param t1:

:return:

'''while true:

print(threading.thread.is_alive(t1))

if not threading.thread.is_alive(t1): # 如果執行緒退出, 重新建立乙個程序

t1 = mythread(1, 'test_func', test_func)

t1.start()

t1.join()

time.sleep(60)

thread_list =

t1 = mythread(1, 'test_func', test_func)

for t in thread_list:

t.start()

for t in thread_list:

t.join()

C 軟體監控外部程式執行狀態

需要外掛程式乙個程式,用於監控另乙個程式執行狀態,一旦檢測到另一程式關閉,就觸發乙個事件做其他處理。引用的類 using system.diagnostics 引入process 類 宣告private process myprocesses 主要處理部分,該段 可放在定時器中迴圈檢測監控的程式是否...

C 軟體監控外部程式執行狀態

需要外掛程式乙個程式,用於監控另乙個程式執行狀態,一旦檢測到另一程式關閉,就觸發乙個事件做其他處理。引用的類 1usingsystem.diagnostics 引入process 類宣告1 privateprocess myprocesses 主要處理部分,該段 可放在定時器中迴圈檢測監控的程式是否...

C 軟體監控外部程式執行狀態

需要外掛程式乙個程式,用於監控另乙個程式執行狀態,一旦檢測到另一程式關閉,就觸發乙個事件做其他處理。引用的類 using system.diagnostics 引入process 類 宣告private process myprocesses 主要處理部分,該段 可放在定時器中迴圈檢測監控的程式是否...