echo $$ 的意义是什么

echo $$ 的意义是什么

正如标题所示,我想知道的重点echo $$是什么......我理解该命令echo $?返回最后运行的命令的状态,现在我对echo $$返回的内容感到困惑......我相信它运行与's 相关的东西PID,我是正确还是完全错误?

答案1

POSIX 标准定义

$

扩展为所调用 shell 的十进制进程 ID。在子 shell 中(请参阅 Shell 执行环境),“$”应扩展为与当前 shell 相同的值。

当您可能向当前正在使用的其他 shell 发送信号(例如 KILL 或 SiGTERM)、通过/proc/$$/目录中可用的数据确定有关 shell 的进程信息以及许多其他事情时,这是必要的。我依稀记得曾经在 shell 脚本中使用过它来捕获脚本的 PID,然后将其与脚本中定义的函数调用区分开来。它还可用于区分同名脚本的多个实例。

相关内容