2017-03-14 2 views
0

Ich benutze Peppermint Distro. Ich bin neu in Linux, aber ich muss Systemprozesse anzeigen, dann erstellen Sie einen neuen Prozess im Hintergrund für 2 Minuten laufen, ich muss beweisen, dass es läuft und dann beenden, bevor die 2 Minuten abgelaufen ist.Führen Sie den Prozess im Hintergrund der Shell für 2 Minuten, dann beenden Sie es vor 2 Minuten ist BASH

Bis jetzt benutze ich xlogo um zu testen, ob mein Prozess funktioniert. Ich habe

ps 
xlogo & 
TASK_PID=$! 

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

ps 

fi 

ich kann nicht einen Weg, um herauszufinden, scheint es eine Anfangszeit von 2 Minuten zu geben, aber dann ist es auf jeden Fall nach 15 Sekunden töten.

jede Hilfe geschätzt!

+0

Haben Sie sich den Befehl 'timeout' angesehen? –

+0

@EricRenouf Yea, zuerst habe ich versucht, xlogo & schlafen 120 dann Timeout 15s, und konnte es nicht zur Arbeit bekommen – Lorna

Antwort

1

Wenn Sie den Befehl möchten ursprünglich eine Frist von 2 Minuten haben Sie

timeout 2m xlogo & 

natürlich tun könnte, dann $! wird der timeout Befehl sein. Wenn Sie pgrep verwenden und erfüllt nur es zu finden, den Prozess über Sie obwohl kümmern, könnten Sie pkill anstelle der PID verwenden, um die xlogo

Natürlich zu töten, die timeout PID töten wird auch xlogo töten, so dass Sie sein könnten in der Lage, Dinge für den Rest zu behalten, wenn Sie damit zufrieden sind.

Verwandte Themen