2010-06-02 23 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。