
wpa_supplicant
小さなタブレットで問題を解決しようとしています。タブレットはsystemdを使用してエントリを含むwpa_supplicant.service
プログラムを実行しています。
ExecStart=/usr/sbin/wpa_supplicant -u
wpa_supplicant
このサービスを停止してD-BUSインタフェースを使用する代わりに、カスタム設定で実行したいと思います。だから私は入った。
systemctl stop wpa_supplicant
元のサービスを停止します。コマンドは成功しましたが、残念ながら、サービスはすぐに再起動されます。複数のインスタンスがwpa_supplicant
実際に共存できないため、これは最も不幸なことです。
私はsystemdについてよくわからないので、サービスがすぐに再起動されるのはなぜですか?これが起こらないようにするにはどうすればよいですか?私が知らないいくつかのサービスの依存関係のためですか?
完全なサービス定義は次のように提供されます。
[Unit]
Description=WPA supplicant
Before=network.target
Wants=network.target
[Service]
Type=dbus
BusName=fi.w1.wpa_supplicant1
ExecStart=/usr/sbin/wpa_supplicant -u
[Install]
WantedBy=multi-user.target
Alias=dbus-fi.w1.wpa_supplicant1.service
編集:開始されたサービスは
CGroup: /
|-init.scope
| `-1 /sbin/init
`-system.slice
|-systemd-timesyncd.service
| `-154 /lib/systemd/systemd-timesyncd
|-crashuploader.service
| `-228 /usr/bin/crashuploader --path /home/root/
|-sync.service
| `-181 /usr/bin/sync --service
|-system-dropbear.slice
| `[email protected]:22-10.11.99.3:49522.service
| |-2831 /usr/sbin/dropbear -i -r /etc/dropbear/dropbear_rsa_host_key -B
| |-2832 -sh
| |-2841 systemctl status
| `-2842 less
|-dbus.service
| `-176 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
|-update-engine.service
| `-185 /usr/sbin/update_engine -foreground
|-system-serial\x2dgetty.slice
| `[email protected]
| `-180 /sbin/agetty -8 -L ttymxc0 115200 xterm
|-system-getty.slice
| `[email protected]
| `-179 /sbin/agetty -o -p -- \x5cu --noclear tty1 linux
|-wpa_supplicant.service
| `-2754 /usr/sbin/wpa_supplicant -u
|-systemd-logind.service
| `-217 /lib/systemd/systemd-logind
|-system-busybox\x2difplugd.slice
| `[email protected]
| `-175 /usr/sbin/ifplugd -n -i usb0
|-systemd-udevd.service
| `-135 /lib/systemd/systemd-udevd
|-systemd-journald.service
| `-134 /lib/systemd/systemd-journald
|-dhcpcd.service
| `-198 /usr/sbin/dhcpcd -4 -b --master wlan0
|-haveged.service
| `-133 /usr/sbin/haveged -w 1024 -v 1 --Foreground
|-systemd-networkd.service
| `-145 /lib/systemd/systemd-networkd
|-system-busybox\x2dudhcpd.slice
| `[email protected]
| `-1781 /usr/sbin/udhcpd -f /etc/udhcpd.usb0.conf
|-xochitl.service
| `-229 /usr/bin/xochitl --system
`-qmdns-responder.service
`-258 /usr/bin/qmdns-responder
答え1
サービスが systemd によって開始されないようにブロックできます。
速く走るsystemctl mask wpa_supplicant.service
。これにより、サービスが見つかるまでsystemdによってサービスが開始されなくなります。
を実行してサービスのブロックを解除できますsystemctl unmask wpa_supplicant.service
。
これにより、そのサービスを実行するために実行する必要がある、または予想できる他のサービスも含め、systemdを介してサービスを開始できなくなります。
systemctl
マニュアルページから:
マスクユニット... コマンドラインで指定されているように1つ以上のセルをマスクします。これにより、そのユニットファイルが/ dev / nullにリンクされて起動できなくなります。これはすべての種類の機能を無効にするため、無効よりも強力なバージョンです。 アクティベーションと手動アクティベーションを含むデバイスのアクティベーション。このオプションは注意して使用してください。これは--runtimeオプションを尊重し、次のシステムが再起動されるまで一時的にブロックされます。 --now オプションを使用できます デバイスの動作も停止していることを確認してください。このコマンドには有効なデバイス名のみが必要で、デバイスファイルのパスは許可されません。 デバイスのブロック解除... コマンドラインで指定されているように、1つ以上のユニットファイルをマスク解除します。これによりマスク効果がキャンセルされます。このコマンドには有効なデバイス名のみが必要で、デバイスファイルのパスは許可されません。