linux – 在前台启动进程时,在Shell脚本中获取进程ID
发布时间:2020-12-14 01:26:07 所属栏目:Linux 来源:网络整理
导读:在 shell程序中,我想启动一个程序并获取其PID并保存在临时文件中.但是在这里我将在前台启动程序,并且在进程处于运行状态之前不会退出shell 例如: #!/bin/bash myprogram echo "$!" /tmp/pid 这工作正常,我能够得到启动过程的pid.但如果我在前期启动该程序,
在
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |