gpt4 book ai didi

在 Linux 中更改进程名称而不更改 argv[0]

转载 作者:IT王子 更新时间:2023-10-29 00:17:18 33 4
gpt4 key购买 nike

我需要修改我的C语言程序的进程名。
我准确地说,这不是我要更改的线程名称。
我想更改我的程序的名称,但我找到的唯一解决方案是修改 argv[0] 的值。
我还找到了另一个使用 prctl(PR_SET_NAME, "newname") 的解决方案,但这个解决方案不起作用。

最佳答案

调用prctl和修改argv[0]的区别是:

  • modify argv[0] 改变/proc/$pid/cmdline中的信息
  • 调用 prctl(PR_SET_NAME) 更改 /proc/$pid/status 中的信息

这意味着您将获得发出 ps -aps -ax 的进程的不同名称。

如果您在执行 ps 时希望不同的参数使用相同的进程名称,您可以同时执行它们(即更改 argv[0] 并调用 prctl)。

希望回答对您有所帮助。

关于在 Linux 中更改进程名称而不更改 argv[0],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16165667/

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