2010-06-02 50 views
0

我在想,是否有方法可以更改腳本的名稱,以便它在任務列表中不被稱爲「python.exe」。我問的原因是我正在嘗試創建一個批處理文件,該文件運行的是一個python腳本。我希望批處理文件檢查腳本是否已經運行。如果腳本已經在運行,那麼批處理文件將不會執行任何操作。由於任務列表中的Python腳本名稱

回答

0

這個庫不能在Windows工作,而不應在生產代碼中使用。操縱argv數組是一個相當髒的黑客行爲。

通常我不會嘗試通過掃描進程表來識別進程。這並不可靠,因爲流程名稱並不保證是唯一的。相反,我會在python腳本內的localhost上產生一個簡單的服務器。如果啓動,腳本可以嘗試連接到服務器,並退出,如果服務器已在運行。這種方法以後也可以擴展爲支持任何種類的IPC。

0

我只是簡單地在本地文件系統中創建一個鎖文件,並退出,如果這已經存在。

0

將python.exe複製到您選擇的文件名。

C:\Python26>copy python.exe my_proc.exe 
     1 file(s) copied. 

C:\Python26>my_proc.exe 
Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

在任務列表中顯示爲my_proc.exe。

我試圖做一個python.exe(Windows 7中的mklink)的符號鏈接。不幸的是它仍然在任務列表中顯示爲python.exe。