Je veux exécuter une connexion ppp lorsque mon modem USB est connecté, j'utilise donc cette udev
règle:
ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="16d8",\
RUN+="/usr/local/bin/newPPP.sh $env{DEVNAME}"
(Mon modem apparaît en /dev
tant que ttyACM0
)
newPPP.sh:
#!/bin/bash
/usr/bin/pon prov $1 >/dev/null 2>&1 &
Problème:
L' udev
événement se déclenche et newPPP.sh est en cours d'exécution, mais le newPPP.sh
processus est tué après ~ 4-5 secondes. ppp
n'a pas le temps de se connecter (son délai d'attente est de 10 secondes pour la connexion par ligne commutée).
Comment puis-je exécuter un processus de longue durée, qui ne sera pas tué?
J'ai essayé d'utiliser nohup
, mais cela n'a pas fonctionné non plus.
Système: Arch Linux
Mise à jour
J'ai trouvé une solution ici , grâce à maxschlepzig .
J'utilise at now
pour exécuter mon travail indépendamment du processus udev.
Mais la seule question reste sans réponse: pourquoi fonctionne nohup
et &
ne fonctionne pas?