Chcę uruchomić połączenie ppp, gdy mój modem USB jest podłączony, więc używam tej udev
reguły:
ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="16d8",\
RUN+="/usr/local/bin/newPPP.sh $env{DEVNAME}"
(Mój modem pojawia się /dev
jako ttyACM0
)
newPPP.sh:
#!/bin/bash
/usr/bin/pon prov $1 >/dev/null 2>&1 &
Problem:
W udev
Zdarzenie, a newPPP.sh jest uruchomiony, ale newPPP.sh
proces jest zabity po ~ 4-5s. ppp
nie ma czasu na połączenie (limit czasu wynosi 10 sekund na połączenie dial-up).
Jak mogę uruchomić długi proces, który nie zostanie zabity?
Próbowałem użyć nohup
, ale to też nie działało.
System: Arch Linux
Aktualizacja
Tutaj znalazłem rozwiązanie , dzięki maxschlepzig .
Używam at now
do uruchamiania mojej pracy odłączonej od procesu udev.
Ale jedno pytanie pozostaje bez odpowiedzi: dlaczego działają nohup
i &
nie działają?