You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows任务管理器中将多进程Python程序重命名为自定义公司名称?

Windows下修改Python多进程显示名称的可行方案

1. 打包为独立可执行文件(推荐)

这是最彻底的解决方案,打包后所有进程都会以自定义名称显示,且无需客户端安装Python环境。

  • 安装PyInstaller:
    pip install pyinstaller
    
  • 基础打包命令,直接生成指定名称的EXE:
    pyinstaller --name MyCompanyApp --onefile --noconsole your_main_script.py
    
  • 若需要配置公司名称、版本号等详细属性,先生成spec文件:
    pyinstaller --name MyCompanyApp --specpath . your_main_script.py
    
    打开生成的MyCompanyApp.spec文件,修改exe段的配置:
    exe = EXE(
        pyz,
        a.scripts,
        a.binaries,
        a.zipfiles,
        a.datas,
        [],
        name='MyCompanyApp',
        debug=False,
        bootloader_ignore_signals=False,
        strip=False,
        upx=True,
        upx_exclude=[],
        runtime_tmpdir=None,
        console=False,
        disable_windowed_traceback=False,
        target_arch=None,
        codesign_identity=None,
        entitlements_file=None,
        version='1.0.0',  # 自定义版本号
        company_name='你的公司名称'  # 自定义公司名称
    )
    
    再用spec文件重新打包:
    pyinstaller MyCompanyApp.spec
    
  • 部署时直接分发打包好的EXE即可,适合多客户端批量推送。

2. 动态修改进程显示名称(无需打包场景)

通过调用Windows系统API,在子进程启动后修改任务管理器中的显示名称(仅修改显示,原EXE文件名不变):

import ctypes
from ctypes import wintypes

kernel32 = ctypes.WinDLL('kernel32', use_last_error=True)

def set_process_display_name(new_name):
    # 获取当前进程句柄
    h_process = kernel32.GetCurrentProcess()
    # 调用API修改显示名称,需传入UTF-16编码的字符串
    kernel32.SetProcessImageFileNameW(h_process, new_name.encode('utf-16-le'))

# 子进程逻辑
def worker(arg):
    # 修改当前子进程的显示名称
    set_process_display_name("MyCompanyWorker.exe")
    # 执行你的业务代码
    activateMainProgram(arg)

if __name__ == '__main__':
    import multiprocessing
    process = multiprocessing.Process(target=worker, args=(argument1,))
    process.start()
    process.join()

注意:此方法需要管理员权限才能生效,部分系统工具仍会显示原Python.exe名称。

3. 批量修改Python解释器名称(保留解释器运行场景)

若必须使用Python解释器运行,可通过批量脚本修改客户端的Python.exe名称,确保所有子进程都使用改名后的解释器:

  • 示例PowerShell脚本(需管理员权限,可批量部署):
    # 自动检测Python安装路径(基于环境变量)
    $pythonPath = (Get-Command python).Source | Split-Path -Parent
    # 重命名Python主程序和无窗口版本
    Rename-Item "$pythonPath\python.exe" "MyCompanyPython.exe"
    Rename-Item "$pythonPath\pythonw.exe" "MyCompanyPythonw.exe"
    # 修改pip启动脚本中的解释器路径
    $pipScript = "$pythonPath\Scripts\pip-script.py"
    (Get-Content $pipScript) -replace 'python.exe', 'MyCompanyPython.exe' | Set-Content $pipScript
    
  • 此方法需确保客户端Python环境路径标准化,适合统一部署的场景。

内容的提问来源于stack exchange,提问作者user19019404

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 01:40:21