在shell的后台运行进程2分钟,然后在2分钟之前将其终止BASH

时间:2017-03-14 15:04:37

标签: linux bash shell

我正在使用Peppermint发行版。我是linux的新手,但是我需要显示系统进程,然后创建一个在后台运行2分钟的新进程,我需要证明它的运行,然后在2分钟之前终止它。

到目前为止,我正在使用xlogo来测试我的进程是否有效。我有

ps 
xlogo &
TASK_PID=$!

if pgrep -x xlogo>/dev/null 2>&1
then 
ps 
sleep 15
kill $TASK_PID

ps

fi

我似乎无法找到一种方法来给它一个2分钟的初始时间,但是无论如何它会在15秒后杀死它。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

如果您希望命令最初的时间限制为2分钟,则可以执行

timeout 2m xlogo &

当然,您的$!将是timeout命令。如果你正在使用pgrep并且满意它只找到你关心的过程,你可以使用pkill而不是PID来杀死xlogo

当然,杀死timeout PID也会导致xlogo被杀,所以如果你对它的工作方式感到满意,你可以保持其余部分的原样。< / p>