gpt4 book ai didi

linux - 在前台启动进程时在 Shell 脚本中获取进程 ID

转载 作者:IT王子 更新时间:2023-10-29 00:54:55 26 4
gpt4 key购买 nike

在 shell 程序中,我想启动一个程序并获取它的 PID 并保存在一个临时文件中。但是这里我会在前台启动程序,直到进程处于运行状态才会退出shell

例如:

 #!/bin/bash

myprogram &
echo "$!" > /tmp/pid

这很好用,我可以获取启动进程的 pid。但是,如果我在前台启动程序,我想知道如何获取 pid

例如:

#!/bin/bash

myprogram /// hear some how i wan to know the PID before going to next line

最佳答案

正如我在上面评论的那样,由于您的命令仍在前台运行,因此您无法在同一 shell 中输入新命令并转到下一行。

然而,当此命令正在运行时,如果您想从不同的 shell 选项卡/窗口进程获取此程序的进程 ID,请像这样使用 pgrep:

pgrep -f "myprogram"
17113 # this # will be different for you :P

编辑:根据您的评论或者是否可以在后台启动程序并获取进程 ID,然后等待脚本直到该进程退出?

是的,可以使用 wait pid 命令完成,如下所示:

myprogram &
mypid=$!
# do some other stuff and then
wait $mypid

关于linux - 在前台启动进程时在 Shell 脚本中获取进程 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18535636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com