Ответ был предоставлен в ответе @defalt на «Wi-Fi не работает в kali -linux» .
Модуль «Черный список» acer_wmi
решил проблему.
Если вы хотите перезапускать службу всякий раз, когда файлы (изменяются независимо от того, кем ), вы можете рассмотреть возможность использованияincron
на удаленном компьютере.
Просто установите пакет и установите соответствующую incrontab
запись:
/etc/dnsmasq.conf IN_MODIFY systemctl restart dnsmasq
Я использую его, например. для запуска команды createrepo
, когда я загружаю пакет rpm в свой локальный репозиторий, и, похоже, все работает гладко.
Основываясь на совете @Fiximan, вы можете использовать следующую команду, чтобы выполнить то, что вам нужно.
ssh -o "PermitLocalCommand yes" -o "LocalCommand sleep 10 && sudo systemctl restart dnsmasq" user2@host2 "scp user1@host1:/path/to/source /path/to/target"
Это запустит scp
для копирования локального файла на удаленную систему; в то же время он будет ждать 10 секунд, а затем выключит локальную систему. К сожалению, это отключается через 10 секунд, независимо от того, был ли успешно выполнен scp
.
Если ваша система достаточно новая, она может поддерживать использование восклицательного знака для локального запуска команд (при условии, что PermitLocalCommand включен ). В этом случае вместо использования -o "LocalCommand sleep 10 && sudo systemctl restart dnsmasq"
вы можете запустить
ssh -o "PermitLocalCommand yes" user2@host2 "scp user1@host1:/path/to/source /path/to/target && !sudo systemctl restart dnsmasq"
Восклицательный знак отправляет команду для выполнения в локальной системе. В этом случае локальная система отключается только в случае успешного выполнения scp
, и система запросит отсутствующие пароли.
Если вы хотите, чтобы локальная система была выключена независимо от того, успешно ли выполнено scp
, вы можете заменить &&
на ;
.