détecter le lancement d'un programme

Le
enae
Bonjour,

dans le cadre d'une application, je souhaite détecter le lancement d'un
programme (type: cp, mv) afin de lancer un script bash lorsque la
commande est détectée.
Y-a-t-il un moyen de faire ceci?
Je vous remercie d'avance pour votre aide.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/5573671A.5030506@free.fr
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
Francois Lafont
Le #26355549
Bonsoir,

Le 06/06/2015 23:33, enae a écrit :

dans le cadre d'une application, je souhaite détecter le lancement d'un programme (type: cp, mv) afin de lancer un script bash lorsque la commande est détectée.
Y-a-t-il un moyen de faire ceci?



Perso je ne sais pas faire ce que tu demandes. Mais je ne suis pas
un expert, peut-être que d'autres t'indiqueront une vraie solution.

En revanche, je tenterais une sorte de contournement. Imaginons
que le programme en question soit le programme /bin/cp (par
exemple), alors je créerais un wrapper /usr/local/bin/cp de sorte
que tout compte Unix qui utilise la commande cp directement (ie
en faisant un appel via le nom court) et dont le PATH contient
/usr/local/bin/ utilisera automatiquement ton wrapper.

Bon, c'est vraiment un contournement qui ne répond pas vraiment
à ta question car si un compte Unix appelle cp via son chemin
absolu (/bin/cp) ou si ce compte ne possède pas /usr/local/bin/
dans son PATH, ça ne marche pas. Ou alors il faut carrément
remplacer /bin/cp par son wrapper et déplacer /bin/cp ailleurs.
Bref, ça répond pas vraiment à ta question. Désolé.

--
François Lafont

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/mkvpo1$q6j$
JF Straeten
Le #26355551
LO,


On Sat, Jun 06, 2015 at 11:33:14PM +0200, enae wrote:

[...]
dans le cadre d'une application, je souhaite détecter le lancement d'un
programme (type: cp, mv) afin de lancer un script bash lorsque la commande
est détectée.
Y-a-t-il un moyen de faire ceci?



Jette un ½il à 'pidof' peut-être...

Je m'en sers par exemple comme ceci :

while (pidof /usr/bin/wget > /dev/null); do sleep 1; done && wget -i links1

pour lancer le téléchargement d'une seconde liste de liens, alors
qu'une première est déjà en cours et que je veux attendre la fin.

(On ne sait pas compléter un fichier de liens passé à 'wget' une fois
qu'il est lancé, donc la boucle while surveille qu'il existe toujours
un pid pour 'wget' ['pidof' renvoi le pid du/des processus indiqués]
et dors une seconde tant que c'est le cas. Une fois que le pid
disparaît, 'wget' ne tourne plus et il exécute alors une nouvelle
instance, avec un autre fichier de liens...)


N.B. dans ton cas, si ton 'cp' ou 'mv' s'exécute presque
instantanément, je ne sais pas trop ce que ça va donner ?

Mais dans ce cas, si tu as un certain contrôle sur les fichiers copiés
ou mouvés, ou sur le(s) répertoire(s) de destination, tu peux regarder
du côté de 'inoticoming' qui est capable de lancer une action en cas
d'arrivée d'un fichier à un endroit surveillé...

Hih,


--

JFS.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Frédéric MASSOT
Le #26355552
Le 06/06/2015 23:33, enae a écrit :
Bonjour,

dans le cadre d'une application, je souhaite détecter le lancement d'un
programme (type: cp, mv) afin de lancer un script bash lorsque la
commande est détectée.
Y-a-t-il un moyen de faire ceci?
Je vous remercie d'avance pour votre aide.



Évites de demander un accusé de réception sur une liste de discussion.

Tu peux regarder le fonctionnement du programme snoopy, c'est un wrapper
sur la libc il enregistre les appels à la fonction execve().


--
============================================= | FRÉDÉRIC MASSOT |
| http://www.juliana-multimedia.com |
| mailto: |
| +33.(0)2.97.54.77.94 +33.(0)6.67.19.95.69 |
==========================Þbian=GNU/Linux==
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Pierre Malard
Le #26355561
--Apple-Mail=_4D7AF06C-5200-49B8-ADB8-9DC68C2ACEB4
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8

Jour,

Le 6 juin 2015 à 23:33, enae dans le cadre d'une application, je souhaite détecter le lancement d'un programme (type: cp, mv) afin de lancer un script bash lorsque la commande est détectée.
Y-a-t-il un moyen de faire ceci?
Je vous remercie d'avance pour votre aide.



Et pourquoi ne pas « masquer » la commande dans le /etc/bash.bashrc ? Comme ça, à part le cas de l’utilisat ion du chemin complet d’accès à la commande, c’e st ton script qui est exécuté et non la commande.

--
Pierre Malard

«Mittler zwischen hirn und händen muss das hirz sein !»
«La médiation entre le cerveau et les mains doit être le cœur !»
Fritz Lang - "Métropolis" - 1929
| _,,,---,,_
/,`.-'`' -. ;-;;,_
|,4- ) )-,_. , ( `'-'
'---''(_/--' `-'_) πr

perl -e '$_=q#: 3| 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. ;-;;,_: |,A- ) )-,_. , ( `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' `-'"'"'_): 24πr::#;y#:#n#;s#(D)(d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--


--Apple-Mail=_4D7AF06C-5200-49B8-ADB8-9DC68C2ACEB4
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=signature.asc
Content-Type: application/pgp-signature;
name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.27
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCgAGBQJVc+pTAAoJELzRDw+wKgIyhnwP/01vPynsgkBpxnX+UX1qdkv3
CjJBQxpj+XaNTyWihRGbP5tJjbkcnPLP38fKoZ6j7dYp1bC47Tu+7AgQ8FL/m5Hz
3oVUcFvHVYJvx84kzsYEW2r1G8eLLSGsyLWA6FBdou5omfZMiYI4rvVai/4G4G64
NVU2u3ELex+Kp1rg2M0++6jRuOdB35n/WpqHfqwwwnw+6cW0qk2KX4+vHy4pdjFS
gkt+HyE29wCzFi0d+bL2qRQHG6qo8uKUOH5rbyXQvM/cRjcafI0HMz0haigy/VLc
9/x6IpiR+efxfhnYi+CAqnS/26PUEg8o74Cm3Lg+Ur25axh32/m4geFAcEYy6plr
ze+nypcPY/K35G5jr6Hjx8MqiMrD6TyWoxvOxxqNkeLJ+RZj6kE1d9USHG5J90C8
hbC1KLp7bAkT6tpx07Tixz6MP+OIGOqBp0hq1B3Fg8crPi2kfbhpKrUM1SF4b8iM
z3fA/5Fgs7Di+SUjuW4Sg1aP2hc2IcbcWJUyRd6K3Rr47dLZq/AqlwBwHjIvWTWV
rXCNeyFd6ddS6B/uhG8L57C8d7vf1gwanl8RHzA2+fTuwhaP+wCe0olQ8SUg2oIX
f7V5+MAPqNp/U9Y4QmP+Wsm9gBBIleJJMYnbDv4lb+N6pC9u9okIWv6yRn/Dr0Lp
QfQ5Bb6vL8pqDGJNHfxl
=YSmA
-----END PGP SIGNATURE-----

--Apple-Mail=_4D7AF06C-5200-49B8-ADB8-9DC68C2ACEB4--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
enae
Le #26355672
Bonjour à tous,

je vous remercie tous pour vos suggestions pour ma question.

Je vais examiner chaque solution mentionnée et voir laquelle est la
meilleure pour mon application.

Merci à tous pour votre aide.




Le 07/06/2015 08:53, Pierre Malard a écrit :
Jour,

Le 6 juin 2015 à 23:33, enae dans le cadre d'une application, je souhaite détecter le lancement d'un programme (type: cp, mv) afin de lancer un script bash lorsque la commande est détectée.
Y-a-t-il un moyen de faire ceci?
Je vous remercie d'avance pour votre aide.


Et pourquoi ne pas « masquer » la commande dans le /etc/bash.bashrc ? Comme ça, à part le cas de l’utilisation du chemin complet d’accès à la commande, c’est ton script qui est exécuté et non la commande.

--
Pierre Malard

«Mittler zwischen hirn und händen muss das hirz sein !»
«La médiation entre le cerveau et les mains doit être le cœur !»
Fritz Lang - "Métropolis" - 1929
| _,,,---,,_
/,`.-'`' -. ;-;;,_
|,4- ) )-,_. , ( `'-'
'---''(_/--' `-'_) πr

perl -e '$_=q#: 3| 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. ;-;;,_: |,A- ) )-,_. , ( `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' `-'"'"'_): 24πr::#;y#:#n#;s#(D)(d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Fabrice Regnier
Le #26356063
'lut,

dans le cadre d'une application, je souhaite détecter le lancement d'un
programme (type: cp, mv) afin de lancer un script bash lorsque la
commande est détectée.
Y-a-t-il un moyen de faire ceci?


package acct ?

f.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/5578384d$0$3037$
Haricophile
Le #26356231
Le Wed, 10 Jun 2015 15:14:52 +0200,
Fabrice Regnier
> dans le cadre d'une application, je souhaite détecter le lancement
> d'un programme (type: cp, mv) afin de lancer un script bash lorsque
> la commande est détectée.
> Y-a-t-il un moyen de faire ceci?
package acct ?

f.



Je dis peut-être une bêtise et je ne sais pas pourquoi c'est fair e, ça
serait pas un boulot à faire dans le cadre de selinux ?

--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Florian Blanc
Le #26356380
--089e0160b7be8e134005185a4e5e
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Bonjour, je me suis trompé en répondant car j'ai oublié de " repondre à
tous" j'ai seulement répondu à Mr Haricophil :)
1er message : Bonjour, je dis peut être une bêtise mais tu pourra is faire
un alias dans le bashrc par exemple qui accepte de arguments et tu fais ton
traitement là dedans.
Cordialement.
2ème message : Après une recherche sur guogle du genre : "bash al ias
override command" je suis tombé sur un topic où quelqu'un te mont re comment
faire : "function cd() { builtin cd "$@" && ls -l; }"

Le samedi 6 juin 2015, enae
Bonjour,

dans le cadre d'une application, je souhaite détecter le lancement d 'un
programme (type: cp, mv) afin de lancer un script bash lorsque la command e
est détectée.
Y-a-t-il un moyen de faire ceci?
Je vous remercie d'avance pour votre aide.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/





--089e0160b7be8e134005185a4e5e
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<br>
dans le cadre d&#39;une application, je souhaite détecter le lancement d&#39;un programme (type: cp, mv) afin de lancer un script bash lorsque la commande est détectée.<br>
Y-a-t-il un moyen de faire ceci?<br>
Je vous remercie d&#39;avance pour votre aide.<br>
<br>
<br>
-- <br>
Lisez la FAQ de la liste avant de poser une question :<br>
<br>
Pour vous DESABONNER, envoyez un message avec comme objet &quot;unsubscribe &quot;<br>
vers En cas de soucis, contactez EN ANGLAIS Archive: <br>
</blockquote>

--089e0160b7be8e134005185a4e5e--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/CAAjVk69DyZDYpaQYEJYurdW9vzmp+62fD2+ty26dmQ5CoAu=
Publicité
Poster une réponse
Anonyme