2017-03-14 46 views
0

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

到目前为止,我正在使用xlogo来测试我的过程正在工作。我有

ps 
xlogo & 
TASK_PID=$! 

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

ps 

fi 

我似乎无法想出一个办法,给它2分钟的初始时间,但随后15秒后杀了也无妨。

任何帮助赞赏!

+0

你看过'timeout'命令吗? –

+0

@EricRenouf是的,首先我试图xlogo和睡眠120然后超时15秒,并且无法使其工作 – Lorna

回答

1

如果你希望命令原本有2分钟的时间限制,你可以做

timeout 2m xlogo & 
当然

,那么你的$!将是timeout命令。如果您使用pgrep,满足它只是找到你所关心的,虽然这个过程中,你可以使用pkill代替PID杀xlogo

当然,杀死timeout PID也将杀死xlogo,所以你可能会如果你对如何运作感到满意,可以保留其他东西。