获取多个进程的进程ID会在bash中返回相同的进程ID

时间:2014-11-02 02:47:20

标签: bash

我正在尝试获取多个bash进程的进程ID:

./test_run.sh hello
echo $$
./test_run.sh hellos
echo $$
./test_run.sh hello22
echo $$

test_run.sh的定义

echo "run $1"

但它们都返回相同的进程ID,为什么?

1 个答案:

答案 0 :(得分:2)

$$返回当前shell进程的PID。要获取刚刚开始的后台进程的PID,请使用$!

./test_run.sh hello &
echo $!
./test_run.sh hello &
echo $!