script bash, linux

Le
fabriceS
Bonjour,

Je fais l'acquisition des données qui arrivent sur mon port COM (RS232)
avec la commande :

cat /dev/ttyS0 > fichier.txt

pour l'arrêter, je fais un contrôle C manuel.

Je voudrais maintenant faire une acquisition qui dure xx secondes, puis
exploiter le fichier de données dans la suite du script

Merci pour vos lumières.
Fabrice
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Floris Dubreuil
Le #23384691
Le 22/05/2011 15:04, fabriceS a écrit :
Bonjour,

Je fais l'acquisition des données qui arrivent sur mon port COM (RS232)
avec la commande :

cat /dev/ttyS0 > fichier.txt

pour l'arrêter, je fais un contrôle C manuel.

Je voudrais maintenant faire une acquisition qui dure xx secondes, puis
exploiter le fichier de données dans la suite du script...



Bonjour,

Là comme ça il est tard, mais concrètement dans un script bash:
1- lance la commande
2- compte les secondes avec sleep
3- fait un "ps aux" avec grep et awk pour récupérer le pid du process
4- tues le process
5- lance vi

Je ferais comme ça.
Tu peux pousser le truc en utilisant avec sleep une variable passée en
argument, genre "./mon_script.sh 20" qui fera un sleep de 20 secondes,
etc...

--
Floris Dubreuil
Marc Duflot
Le #23390981
Floris Dubreuil wrote:
Le 22/05/2011 15:04, fabriceS a écrit :
Bonjour,

Je fais l'acquisition des données qui arrivent sur mon port COM (RS232)
avec la commande :

cat /dev/ttyS0 > fichier.txt

pour l'arrêter, je fais un contrôle C manuel.

Je voudrais maintenant faire une acquisition qui dure xx secondes, puis
exploiter le fichier de données dans la suite du script...



Bonjour,

Là comme ça il est tard, mais concrètement dans un script bash:
1- lance la commande
2- compte les secondes avec sleep
3- fait un "ps aux" avec grep et awk pour récupérer le pid du process
4- tues le process



En bash, $! donne le PID du dernier job lancé en arrière-plan.

#!/bin/bash

cat /dev/ttyS0 > fichier.txt &
sleep 42
kill $!

# ...
YBM
Le #23391511
Marc Duflot a écrit :
En bash, $! donne le PID du dernier job lancé en arrière-plan.

#!/bin/bash

cat /dev/ttyS0 > fichier.txt &
sleep 42
kill $!



Un kill %1 fait tout aussi bien.
Erwan David
Le #23392481
YBM
Marc Duflot a écrit :
En bash, $! donne le PID du dernier job lancé en arrière-plan.

#!/bin/bash

cat /dev/ttyS0 > fichier.txt &
sleep 42
kill $!



Un kill %1 fait tout aussi bien.



Dans ce cas simpliste oui. Pas si tu as d'autres jobs en arrière plan.

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Publicité
Poster une réponse
Anonyme