Я не знаю, почему изменение имени ядра имело бы значение (возможно, sd * 1
запускается после sd *
, что дает немного больше времени для выполнения работы? ), но udev не любит длительные действия в событиях:
Запуск демонов или других длительных процессов не подходит для udev; разветвленные процессы, независимо от того, отсоединены они или нет, будут безоговорочно уничтожены после завершения обработки события.
nohup
Первоначально я предлагал nohup
, прежде чем полностью читать мои собственные ссылки :) - из которых следует, что это может не работать
правило udev:
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]1" SYMLINK+="usbflash", RUN+="/path/to/mywrapper.sh"
mywrapper.sh
(Примечание: если вы не перенаправляете вывод, nohup может засорять ваш каталог файлом nohup.out
):
#!/bin/sh
nohup /path/to/myscript.sh >/log/myscript.log 2>&1 &
Затем myscript.sh
может быть тем, что есть.
systemd
Третья ссылка ниже предлагает отключить службу systemd, когда устройство подключено к сети. Эта запись в блоге выполняет больше работы, чем я думаю, вам нужно, так как информация об устройстве передается службе, я думаю , что вы можете обойтись простым использованием systemd в качестве метода демонизации:
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]1" SYMLINK+="usbflash", RUN+="/usr/bin/systemctl start my-usb-backup.service"
С помощью простой службы onehot my-usb-backup.service
:
[Unit]
Description=run myscript
[Service]
Type=oneshot
ExecStart=/path/to/myscript.sh
См. также:
Вывод команды dig отличается, потому что это была другая команда.
$ dig api.pushbullet.com @127.0.0.1
;; QUESTION SECTION:
;api.pushbullet.com. IN A
;; ANSWER SECTION:
api.pushbullet.com. 12 IN CNAME ghs-svc-https-c573.ghs-ssl.googlehosted.com.
ghs-svc-https-c573.ghs-ssl.googlehosted.com. 300 IN A 72.14.247.65
;; AUTHORITY SECTION:
. 495764 IN NS g.root-servers.net.
. 495764 IN NS e.root-servers.net.
. 495764 IN NS l.root-servers.net.
. 495764 IN NS j.root-servers.net.
. 495764 IN NS i.root-servers.net.
. 495764 IN NS d.root-servers.net.
. 495764 IN NS a.root-servers.net.
. 495764 IN NS m.root-servers.net.
. 495764 IN NS k.root-servers.net.
. 495764 IN NS f.root-servers.net.
. 495764 IN NS b.root-servers.net.
. 495764 IN NS h.root-servers.net.
. 495764 IN NS c.root-servers.net.
;; Query time: 72 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Son Sep 11 12:23:11 CEST 2016
;; MSG SIZE rcvd: 328