是否可以用 pythonw 设置进程名称?

是否可以用 pythonw 设置进程名称?

我正在使用一个用 Python 编写的软件,并使用 WHS2011 中的任务计划程序将其作为后台进程运行。不幸的是,它在任务列表中显示为“pythonw.exe”。这并没有给我带来大问题,但如果我能告诉它要使用哪个进程名称就好了。

是否可以通过命令行到 pythonw.exe 来实现?

答案1

不,目前无法通过命令行开关将任务管理器映像名称设置为 pythonw.exe。问题 5672其他人也谈到了这样做的讨论。

有一些项目致力于在 Python 程序中实现这一点,例如py-setproctitle。我还没玩过它们。

Java 解决方案是创建一个启动器,要么将所有 Java 代码与引导解释器嵌入到一个 exe 中,要么像 java(w).exe 一样工作并指向您的 Java 类。有类似的项目可以为 Python 做同样的事情,比如 py2exe。

更改图像名称和“制作自己的启动器”的更简单方法是复制 pythonw.exe,将其命名为您喜欢的任何名称,例如 mytask.exe。我已经使用 PythonNN 目录和其他目录中的复制/重命名 exe 对此进行了测试,它运行良好并更改了任务管理器中的图像名称。我还没有在 WHS2011 中的任务计划程序中对其进行测试。

答案2

不。与 Unix 不同ps,任务管理器和其他进程管理程序中的“映像名称”字段始终包含可执行文件的名称。

为了解决这个问题,你可以myapp.exe在 Python 目录中创建一个符号链接,并指向pythonw.exe

相关内容