如何将最后执行的 PID 附加到主提示字符串中?

如何将最后执行的 PID 附加到主提示字符串中?

我花了几个小时尝试寻找这个问题的答案。我想将(基本)名称附加到 (PS1?) 变量,并将当前正在执行的进程 ID 附加到 .bashrc 中的 (PS2?) 变量。我的措辞可能不正确,但这是我想要附加到提示字符串中的图像:在此输入图像描述

以下是上面示例中使用的 C 代码: 在此输入图像描述

我使用的是 Ubuntu 18.04.1 LTS。我使用的图像省略了提示字符串中的(基本)和 PID。

我尝试将 $$ 和 $PPID 附加到变量中。

答案1

这与 PS1 或 PS2 或与您的提示甚至 shell 相关的任何其他内容无关。您正在运行一个 C 程序,并且该程序正在打印 PID。看看代码:

printf("(%d) addr pointed to by p: %p\n", (int) getpid(), p);

因此,括号中的数字是调用返回的进程的 PID getpid()。这就是为什么你会看到它被打印出来。如果将上面的行更改为

printf("(foo:%d) addr pointed to by p: %p\n", (int) getpid(), p);

您将看到它foo:在 PID 之前打印。

相关内容