如何将命令行参数传递给 unix/linux 系统上正在运行的进程?

新手上路,请多包涵

在 SunOS 上有 pargs 命令打印传递给正在运行的进程的命令行参数。

在其他 Unix 环境中是否有类似的命令?

原文由 Hemant 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 385
2 个回答

有几种选择:

 ps -fp <pid>
cat /proc/<pid>/cmdline | sed -e "s/\x00/ /g"; echo

Linux 上的 /proc/<pid> 中有更多信息,请看一下。

在其他 Unix 上,情况可能会有所不同。 ps 命令可以在任何地方工作, /proc 的东西是操作系统特定的。例如在 AIX 上没有 cmdline/proc

原文由 markus_b 发布,翻译遵循 CC BY-SA 4.0 许可协议

这可以解决问题:

 xargs -0 < /proc/<pid>/cmdline

如果没有 xargs,参数之间将没有空格,因为它们已被转换为 NUL。

原文由 Michael Böckling 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题