我在linux上使用Python 2.6。在Python中調用os.unlink(__ file__)是否安全?
我有一個run.py腳本,它在後臺啓動多個服務,並生成kill.py來殺死這些進程。
在kill.py中,當它完成它的工作時是否可以安全地解除鏈接?
import os
# kill services
os.unlink(__file__)
# is it safe to do something here?
我是新來的Python。我擔心的是,由於Python是一種腳本語言,整個腳本可能不在內存中。解除鏈接後,將不再有解碼代碼。
我試過這個小測試。
import os
import time
time.sleep(10) # sleep 1
os.unlink(__file__)
time.sleep(10) # sleep 2
我跑stat kill.py
時,該文件是正在運行和鏈路的數量總是1,所以我想Python解釋不成立的鏈接文件。
作爲一個更高層次的問題,創建一個進程列表的常用方法將在稍後被輕易殺掉?
如果您在Linux上刪除了一個文件,只要至少有一個打開文件句柄,該文件仍然存在。它不再在目錄中,但是'lsof'仍然顯示它已被刪除。該機制用於臨時文件。 – hochl