![如何编写一个脚本,将其 PID 传递给另一个正在运行的脚本](https://linux22.com/image/967146/%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B0%86%E5%85%B6%20PID%20%E4%BC%A0%E9%80%92%E7%BB%99%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%E8%84%9A%E6%9C%AC.png)
我有一个主脚本,该脚本打开一个新终端并执行另一个脚本,所以我想要将第二个脚本的 PID 传递给第一个脚本
主脚本
#!/bin/bash
gnome-terminal -e "/home/......./script.sh"
脚本
#!/bin/bash
PID= $$
我想将名为 PID 的变量传递给主脚本
问候
答案1
你可以通过这样做来打印 PID
主脚本
#!/bin/bash
gnome-terminal -e "/home/......./script.sh" &
PID=$!
echo "child_PID="$PID
请注意,您可能会获取 gnome-terminal 的 PID,而不是脚本本身。
/home/..../script.sh
如果您想要直接运行的 PID,则无需gnome-terminal
:
#!/bin/bash
/home/......./script.sh &
PID=$!
echo "child_PID="$PID
一个问题:你真的需要运行这个脚本吗gnome-terminal
?
编辑:script.sh
现在在后台运行(使用&
)并且我们正在回应子 PID。