Si et comment est-il possible, en Terminal, de faire fonctionner une application pendant 30 secondes, avant de la fermer de force et de faire écho aux journaux de ce processus?
Si et comment est-il possible, en Terminal, de faire fonctionner une application pendant 30 secondes, avant de la fermer de force et de faire écho aux journaux de ce processus?
Réponses:
Vous voudrez peut-être utiliser la commande timeout .
timeout -k 10s 30s command
qui exécutera la commande pendant 30 secondes et la tuera après 10 secondes si elle est toujours en cours d'exécution. - Consultez la page de manuel pour plus d'options.
watchme semble être une commande très intéressante. Pourrait être utile ...
Voici deux façons (mais la timeoutcommande suggérée par mcantsin est probablement meilleure):
Lancez la commande en arrière-plan, de cette façon son PID est enregistré $!et vous pouvez l'utiliser pour le tuer après l'heure spécifiée:
command &
sleep 30 && kill $!Lancez la commande et utilisez pkillou killallpour la tuer. ATTENTION: Cela suppose qu'une seule commande avec ce nom est en cours d'exécution, j'utilise firefoxcomme exemple:
firefox &
sleep 30 && pkill firefoxJe n'ai aucune idée de ce que vous entendez par «les journaux de ce processus» mais l'erreur standard d'un processus peut être enregistrée dans un fichier avec command 2> logfile.txt.