0

有时我需要遵循一个过程,我总是发现一个 bash-script 正在做pid=$1. 据我了解,它应该获取我发送到我创建的第一个运行该特定进程的 shell 实例的进程 ID,我可以稍后使用它(例如,杀死它,或跟踪内存使用情况,或其他)。pid=$0应该获取当前实例(bash)和pid=$!最新的实例。(如果我错了,请纠正)

问题是:每次我需要运行pid=$1命令,pid什么都得不到,echo $pid或者echo ${pid}打印和空行时,我总是需要一种方法来pid=$!代替它,因为它是唯一获得我的进程 ID 的东西。有谁知道为什么我的终端会有这样的行为?(它发生在 Linux Mint 或 Fedora 中)

4

1 回答 1

4

$$应该给你脚本pid

$PPID应该给你调用者(父)pid


评论回复

sleep 100 &
sleeppid=$!
echo "PID=$sleeppid"
于 2013-07-16T15:30:31.720 回答