任务列表中的Python脚本名称

时间:2010-06-02 13:42:42

标签: python batch-file

我想知道,有没有办法更改脚本的名称,以便它在任务列表中不被称为“python.exe”。我问的原因是我正在尝试制作一个运行python脚本的批处理文件。我希望批处理文件检查脚本是否已在运行。如果脚本已经运行,则批处理文件将不执行任何操作。感谢

5 个答案:

答案 0 :(得分:1)

也许你可以试试这个:http://code.google.com/p/procname/

答案 1 :(得分:0)

此库在Windows上不起作用,不应在生产代码中使用。操纵argv数组是一个相当肮脏的黑客。

通常我不会尝试通过扫描进程表来识别进程。这并不可靠,因为不保证流程名称是唯一的。相反,我会在python脚本中的localhost上生成一个简单的服务器。如果已启动,则脚本可以尝试连接到服务器,如果服务器已在运行,则退出。这种方法以后也可以扩展到支持任何类型的IPC。

答案 2 :(得分:0)

您可以使用py2exe将Python脚本转换为.exe文件,这意味着您可以为其指定任何您喜欢的名称。

或者你可以使用Python本身(而不是.bat文件)使用Reading Command Line Arguments of Another Process (Win32 C code)给出的方法来确定'python.exe'进程运行的脚本的名称。

答案 3 :(得分:0)

我只是在本地文件系统中创建一个锁文件,如果已存在则退出。

答案 4 :(得分: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。