私ピアツーピアUSB モデムが接続されると接続が行われるため、次のudev
規則を使用します。
ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="16d8",\
RUN+="/usr/local/bin/newPPP.sh $env{DEVNAME}"
(私のモデムは/dev
と読みますttyACM0
)
新しいPPP.sh:
#!/bin/bash
/usr/bin/pon prov $1 >/dev/null 2>&1 &
質問:
イベントudev
が発生し、newPPP.shが実行されていますが、newPPP.sh
約4〜5秒後にプロセスが終了します。ppp
接続する時間はありません(ダイヤルタイムアウトは10秒です)。
死ぬことなくどのように長いプロセスを実行できますか?
試してみましたが、nohup
やはり動作しません。
システム: Arch Linux
修正する
解決策が見つかりましたここありがとうございます。マックスシュレプチガー。
at now
udevプロセスとは別にジョブを実行するために使用します。
しかし、1つの質問に対する答えはまだ残っています。なぜ動作しnohup
、&
動作しないのですか?
ベストアンサー1
システムサポートを介してまともなディストリビューションを実行している場合は、最も簡単で技術的に安全な方法は次のようにすることです。機器単位。
このように、systemdは長期実行スクリプトを完全に制御し、デバイスがシャットダウン/削除された後にプロセスを適切にシャットダウンすることもできます。プロセスを分離するということは、プロセスの状態と記録のすべての制御を放棄することを意味します。 。
これに加えて、を実行してデバイスと接続されているサービスの状態を確認することもできますsystemctl status my-ppp-thing.device
。
また、見ることができますこのブログ投稿より多くの例と詳細を確認してください。