shell 如何编写一个bash脚本来运行一个Linux命令,当它运行时,运行另一个命令?

7lrncoxx  于 2023-10-23  发布在  Shell
关注(0)|答案(1)|浏览(163)

我正在尝试编写一个bash脚本来运行一个命令(例如,command1),command1正在运行时,该脚本启动了第二个命令(例如,command2)。一旦command2完成,脚本将停止command1。

  • 我尝试过的 *:我试过command1 & command2。但是,这并不强制触发command2AFTERcommand1,这与我所需要的相反。使用command1 && command2也不起作用,因为这将在命令1完成后才运行命令2,这不是我所需要的。

另外,我不知道如何在command2完成后停止command1。

zengzsys

zengzsys1#

看起来这就是你想要的:

command1 &      # put command1 in a background process
pid=$!          # store the id of the process running command1
command2        # execute command2
kill $pid       # kill command1 after command2 has finished
wait            # wait for (all) background command(s) to exit

注意:kill ing command1可能会在你不喜欢的地方中止它。如果你想要一个更干净的出口,在command1中安装一个trap来捕获SIGTERM

相关问题