ฉันต้องการเรียกใช้การเชื่อมต่อpppเมื่อโมเด็ม USB ของฉันเชื่อมต่ออยู่ดังนั้นฉันจึงใช้udev
กฎนี้:
ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="16d8",\
RUN+="/usr/local/bin/newPPP.sh $env{DEVNAME}"
(โมเด็มของฉันปรากฏ/dev
เป็นttyACM0
)
newPPP.sh:
#!/bin/bash
/usr/bin/pon prov $1 >/dev/null 2>&1 &
ปัญหา:
udev
เหตุการณ์ fires และ newPPP.sh จะทำงาน แต่newPPP.sh
กระบวนการที่ถูกฆ่าตายหลังจาก ~ 4-5s ppp
ไม่มีเวลาในการเชื่อมต่อ (การหมดเวลาใช้งานคือ 10 วินาทีสำหรับการหมุนโทรศัพท์)
ฉันจะเรียกใช้กระบวนการที่ยาวนานซึ่งจะไม่ถูกฆ่าได้อย่างไร
ฉันลองใช้nohup
แต่ก็ไม่ได้ผลเหมือนกัน
ระบบ: Arch Linux
ปรับปรุง
ผมพบว่าวิธีการแก้ปัญหาที่นี่ขอบคุณmaxschlepzig
ฉันใช้at now
เพื่อให้งานของฉันหลุดจากกระบวนการ udev
แต่คำถามหนึ่งยังคงไม่ได้รับคำตอบ: ทำไมnohup
และ&
ไม่ทำงาน