gpt4 book ai didi

Linux,Bash 在生成的进程结束后在脚本中执行命令

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:09 27 4
gpt4 key购买 nike

正在编写一个小的 bash 脚本。我有一个生成进程然后返回的命令,使生成的进程继续运行。我需要等待生成的进程终止,然后运行一些命令。我该怎么做?

具体情况是:

VBoxManage startvm "my_vm"
#when my_vm closes
do_things

但是,我之前在其他情况下遇到过这个问题,所以如果可能的话,我正在寻找一个通用的解决方案,而不仅仅是与 virtualbox 虚拟机相关的解决方案。

最佳答案

我有一个答案,但它并不漂亮

tail --pid=$pid -f /dev/null

在 VBox 虚拟机的上下文中,以下英勇的一行代码已被证明是成功的。

VBoxManage startvm "my_vm"; tail --pid=$(awk '/Process ID:/ {print $4;}' /path_to/my_vm/Logs/VBox.log) -f /dev/null; echo hello

运行此程序,我能够看到直到 my_vm 关闭后才输出“hello”。

天哪,需要有比左场命令选项的副作用更好的方法来做到这一点。还有更好的答案吗?请....

关于Linux,Bash 在生成的进程结束后在脚本中执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43243524/

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