gpt4 book ai didi

Python:使用 setproctitle 更改进程名称

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:51 24 4
gpt4 key购买 nike

我有一个 python 脚本,它启动了一些 C++ 程序,每个程序都传递了一个命令行参数,如下所示

process_path "~/test/"
process_name "test"
num_process = 10

for p in range(1, num_processes, 1):
subprocess.Popen([process_path + process_name, str(p)], shell = False)

我们是否可以通过 setproctitle 重命名这些进程中的每一个,以便我可以将命令行参数作为进程名称的一部分包含在内,如果可以,您会怎么做?

最佳答案

setproctitle 只能更改它的“自己的”进程标题,因为我认为这是一个安全元素,但重写进程表的技术是一种古老的 rootkit 技术——很明显这是可能的。

此外,setproctitle 支持多个操作系统,因此您更改进程信息的方法可能会有所不同,但为了便于解释,我假设您在 Linux 下使用它,让我们看看我们有什么。

Linux 使用 prctl(),这看起来像您使用 prctl(PR_SET_NAME, "my_new_name");,并且这仅适用于调用进程。所以看起来没有使用 setproctitle 模块执行此操作的“简单”方法——您只能修改自己。

最好的办法是修改 C++ 代码,使其使用 prctl。

如果您不使用 Linux,请发布您正在使用的内容,因为其他操作系统提供了与 prctl 的限制有很大不同的其他机会和方法。

关于Python:使用 setproctitle 更改进程名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3548294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com