我正在研究一个简单的bash脚本。脚本按顺序运行命令,例如command1然后是command2,依此类推。但是,在某个时候,我想运行一个命令,然后在执行该命令时,我想杀死它。让我借助以下示例进行说明:
#!/bin/bash
.
.
command24
kill $(pidof command24)
command26
.
.
当我的脚本到达command24时,大约需要5到7分钟才能完成。但是,在2-3分钟之后,我想终止此command24并继续执行命令26。问题是,如果此脚本按顺序工作,则无法在command24完成之前执行“ kill”命令,但是我想在执行command24时启动“ kill”命令。我希望我能很好地解释场景。请在这方面指导我。
只需在后台运行命令,告诉脚本休眠几分钟,然后将其杀死:
command24 &
sleep 3m
kill $(pidof command24)
command26
或者,甚至更安全地使用$!
,它会在后台执行最后一条命令的PID:
command24 &
sleep 3m
kill $!
command26
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句