2017-03-14 45 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,所以你可能會如果你對如何運作感到滿意,可以保留其他東西。