当前位置: 首页 > 面试题库 >

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

慕容安易
2023-03-14
问题内容

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


问题答案:

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

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

这意味着您将获得流程发布ps -a和的不同名称ps -ax

如果在执行ps时期望不同的参数具有相同的进程名称,则可以同时使用它们(即change argv[0]和invoke prctl)。

希望答案有所帮助。



 类似资料:
  • 问题内容: 有没有办法更改在Linux上运行python脚本的进程的名称? 当我执行时,我得到的只是“ python”进程名称。 问题答案: http://code.google.com/p/procname/ 用法示例: 它仅在存在系统调用并支持命令的系统上工作。

  • 我希望能够在不重构的情况下更改我们应用程序的包名称。目的是为白色标签应用程序创建一个构建系统(更改徽标和其他次要细节以隐藏我们的品牌并强调客户的)。这是当前公司的逻辑。我知道它没有得到官方的支持,但我相信通过对构建过程进行一些小的改动或修改,这是可能的。 重构会留下项目中每个文件的修改日志,从而使这些时间变得毫无意义。这是一个可能的解决方案,但我认为不是最好的。 如果更改包名并且不重构,一切都很好

  • 问题内容: 我有一个这样的状态,我正在设置和标记如下: 我有一个列表,其中包含状态为类的项目: 在这里,如何更改特定div的类名? 问题答案: 以下是我相信您正在尝试做的一个功能齐全的示例(带有功能性摘录)。 根据您的问题,您似乎正在为所有元素修改1属性。这就是为什么当您单击一个时,它们全部都被更改了。 尤其要注意,状态跟踪 哪个 元素处于活动状态的索引。当被点击时,它告诉它的索引,更新,随后相应

  • 问题内容: 如果用户点击可下载链接,例如 在“另存为”对话框之前,是否有客户端(html或javascript)更改文件名称的方法? 问题答案: 不可以,您不能从客户端(HTML或javascript)更改此设置。您需要从服务器进行更改。一种方法是使用服务器端脚本,该脚本将设置Content- Disposition HTTP响应标头:

  • 问题内容: 是否可以更改导入的python文件的名称? 在我在Django的views.py中,我有 在我的模型中,我有一个客户端模型,但是当我使用该文件时,我导入了客户端,但是在我的客户端模型中出现了AttributeError … 我的问题是,是否可以更改in的名称? 谁能对我的情况有个想法? 提前致谢 … 问题答案: 是的,您可以使用关键字。 正是出于这个目的。此处的文档对此进行了说明: h

  • 问题内容: 我有一个必须在单个物理框中运行多个tomcat服务器的要求。从浏览器访问这些文件时,当用户在应用程序之间切换时,将导致注销用户先前访问的应用程序。这是因为JSESSIONID Cookie冲突。 一种可能的解决方案是在不同的上下文中运行每个应用程序。不幸的是,我的应用程序无法在上下文路径设置中工作,因为前面没有使用request.getContextPath()访问任何资源。 这使我可