當前位置:首頁 » 編程語言 » pythonkill

pythonkill

發布時間: 2022-08-15 05:42:23

A. python中如何中止一個線程

簡單來說,它kill的原理是設置一個flag位,然後線程在執行下一句python語句檢測到這個位被設置了之後,就會自行退出,以達到kill的目的。 另外還有一種更容易理解的flag置位的實現方式:classKillableThread(threading.Thread):def__init__(self):threading.Thread. __init__(self)self.stop = Falsedefrun(self):whilenotself.stop:somefunction() 這種方式相比第一種而言,又有一點不足:kill生效的時限,最大等於somefunction執行一遍所花的時間。 而第一種方式,在下一句python語句執行時就會生效。 不過可以料想,第一種實現方式,整體的執行效率會慢一點。

B. python哪個函數啟動進程和關閉進程

任何一種編程語言,啟動進程和關閉進程都是跟操作系統相關的操作,python中與操作系統打交道的話,推薦使用os模塊。

os.system() 函數可以啟動一個進程,執行完之後返回狀態碼。

os.fork() 復制一個進程,如果是子進程返回0,如果是父進程返回子進程的pid,使用這個函數的時候,建議你學習一下linux編程的知識。
os.popen 以管道的方式創建進程。
os.spawnl 也可以創建進程,並能指定環境變數。

os.kill(pid, sig) 關閉一個進程,pid是進程號,sig是信號。與fork配合使用,例如你剛才用fork創建了一個子進程,它的pid是11990, 那麼調用
os.kill( 11990, signal.CTRL_BREAK_EVENT)
就以ctrl+c的方式殺死了這個進程。

另外還有一個模塊multiprocessing,這個模塊封裝了很多創建進程和進程間通信的操作,可以讓你發揮多核的威力。

C. python實現了多線程,如果使用了命令kill把正在運行的進程kill掉的話,可能某些線程會出錯,怎麼解決

主線程捕獲kill的信號以後去終止其他線程, 等其他線程完成以後, 再在主線程中退出.不過更現代的實現並發的方法是使用非同步, 而不是多線程.python實現了多線程,如果使用了命令kill把正在運行的進程kill掉的話,可能某些線程會出錯,怎麼解決?

D. 退出python環境應該輸入什麼

  • 我們這里使用的是python3.6版本,我們先確認python版本及python正常工作。如下面圖中所示,python版本是3.6.5,可以正常登陸。

E. python在伺服器運行被kill

已經很清楚了。估計伺服器運營商 限制了腳本運行時間。比如幾分鍾什麼的。
解決辦法。只有把運行任務再分割。分段執行。一次運行一部分。記住狀態和結果,下次運行從上次狀態恢復結果,繼續下一個步驟

F. python 如何kill掉suricata進程

使用sudo pkill suricata

G. python內部線程假死,有什麼辦法在進程內kill掉這個假死的線程

如果是爬蟲的話,這個一般都是由於網路原因造成的卡住,可以做兩層控制:
在HTTP請求上設置好超時時間,最好設定sockect的超時,這樣更底層一些。
在上層做一個檢測機制,定時輪詢線程是否正常,如果遇到不響應的直接kill掉。

H. python問題 我想保護一個進程讓psutil庫中的kill方法不能kill這個進程,求解答

kill通常是通過發送信號結束進程的,對psutil不太熟悉,你可以看看他的源碼看看發送的是什麼信號,然後你在python里對那些信號做處理就好了

I. python 怎麼殺死指定線程名的線程

這幾天在實踐的時候,有一個問題一直在困擾我,比如timer,定時器,Python沒有這么好的機制,需要自己實現。這個網上也是有一些。但是我自己的需求可能並不一樣。

需求:
我需要一個函數工作,比如遠程連接一個埠,遠程讀取文件等,但是我給的時間有限,比如,4秒鍾如果你還沒有讀取完成或者連接成功,我就不等了,很可能對方已經宕機或者拒絕了。這樣可以批量做一些事情而不需要一直等,浪費時間。
定時器是最好的,我覺得這個需求,一旦定時過了,就將這個讀取函數直接kill。但是這出現了問題。
第一,怎麼定時?
第二,時間到了,怎麼kill函數
第三,定時函數和kill函數怎麼判斷該kill了。
寫一個多線程,一個線程專門用來計時間,一個用來執行函數,一旦時間到了,就殺死執行函數的線程。我在多線程,python很弱,似乎沒有這樣的比較簡單的一個介面就調用的。不像windows編程。那麼,該怎辦?

結合我的需求,我這么做:
1、在主進程執行,調用一個進程執行函數,然後主進程sleep,等時間到了,就kill 執行函數的進程。
測試一個例子:

[python] view plain
import time
import threading

def p(i):
print i

class task(threading.Thread):
def __init__(self,fun,i):
threading.Thread.__init__(self)
self.fun = fun
self.i = i
self.thread_stop = False

def run(self):
while not self.thread_stop:
self.fun(self.i)

def stop(self):
self.thread_stop = True

def test():
thread1 = task(p,2)
thread1.start()
time.sleep(4)
thread1.stop()

熱點內容
一台伺服器多個同段地址怎麼通訊 發布:2025-01-20 16:45:58 瀏覽:734
i7源碼 發布:2025-01-20 16:40:48 瀏覽:983
抽簽源碼 發布:2025-01-20 16:38:35 瀏覽:62
密碼箱怎麼鎖住 發布:2025-01-20 16:32:17 瀏覽:31
編譯隔離 發布:2025-01-20 16:28:54 瀏覽:358
從哪裡看自己的qq賬號和密碼 發布:2025-01-20 16:22:33 瀏覽:400
sql語句動態 發布:2025-01-20 16:18:22 瀏覽:298
sql表或的語句 發布:2025-01-20 16:00:49 瀏覽:163
西瓜視頻怎麼緩存不了電影了 發布:2025-01-20 16:00:45 瀏覽:890
javatimer 發布:2025-01-20 15:55:56 瀏覽:64