2013-11-02 70 views
2

我在Linux機器上運行python腳本python a.script(我知道所有關於它的進程信息來自/ proc),但我不小心運行'rm a.script',我該如何恢復腳本?我發現這個How do I determine the path to a binary of a process?,但我只找到了python解釋器。 lsof怎麼樣,但我不知道該從哪開始。恢復已刪除,但正在運行python腳本

+1

從我的角度來看,沒有實際的解決方案。你可能會在內存中找到部分代碼,但是很難找到這些代碼,我真的懷疑你完全可以恢復代碼。 (我從來沒有寫過超過90行的python腳本。) –

+0

好的,下次我會在superuser.com上提問這類問題。對不起,噪音(但其實我試圖使用psutil庫實現一個腳本的單個實例運行)。 – schemacs

回答

1

文件本身消失了。你只能通過非常棘手的文件系統魔術來恢復它。有可能是特定文件系統的程序(如在DOS上),它可以恢復光盤上的文件......但這是非常糟糕的文件系統欺騙。

另一件事是,運行腳本也仍在內存中。但你怎麼能恢復?你當然可以做一個內存轉儲 - 但我想你只會得到預編譯的Python代碼 - 即使這樣也不容易找到。從預編譯的Python獲取源代碼並不容易。此外,您可能無法獲得連續的數據塊,因此幾乎不可能獲得編碼。至少你的評論真的丟失了。但是我猜想,如果沒有評論,甚至有些陰暗的代碼會比再次編碼更昂貴。

所以,我很遺憾地告訴你:我沒有機會看到。