顶部的 PID 与 $$ 的不同吗?

顶部的 PID 与 $$ 的不同吗?

我一直在做我的以下工作。

#!/bin/sh

NO_START=1
STEP_SIZE=1
NO_END=100

DATE_STR=$(date +%m%d_%H%M%S)
RUN_DIR=./$DATE_STR

mkdir $RUN_DIR

echo PID = $$. See $RUN_DIR/$$.log for outputs and errors.
log_file=$RUN_DIR/$$.log; exec > $log_file 2>&1; date

for i in `seq $NO_START $STEP_SIZE $NO_END`
do
    ./c/anExternalCProgram $RUN_DIR
done

我今天注意到回显的 PID 与 中显示的不同top。为什么会这样呢?

答案1

要对此进行调试,请top选择f字段并PPID通过将光标移动到此处并按 来打开Space。您可能需要取消选择其他字段之一 ( VIRT),以便实际看到该父进程 ID。

使用 ,PPID您应该能够知道哪个程序调用了该 shell,它可能是您程序的 PID,并且您实际上正在查看top.

相关内容