У меня есть внешний USB-накопитель, который я монтирую по метке, поэтому он всегда монтируется при запуске fstab, однако у меня все еще есть проблемы. Иногда назначение диска меняется даже при подключенном устройстве, и файлы на измененном диске становятся недоступными.
Я использую Ubuntu 16.04.4 LTS (Linux 4.4.0 -128 -универсальный i686 ).
Я использую спящий режим между ежедневными сеансами и подозреваю, что диск переназначается при выходе из спящего режима, хотя я не совсем в этом уверен. Обычно ему назначается /dev/sdc, и у меня есть USB-устройство чтения SD-карт, которое я оставляю подключенным, которому назначается /dev/sdd. Бывают случаи, когда я не могу читать или записывать на внешний диск. Когда это происходит, я обнаруживаю, что он был переназначен на /dev/sde. Одно из исправлений — просто перезагрузить ОС, и все вернется в норму, но я ищу исправление, в котором мне не нужно доходить до такой крайности.
Я обнаружил, что лучшее решение — сначала закрыть все приложения, которые обращаются к любому разделу на внешнем диске, включая все вкладки терминала, которые находятся в папке на разделе на внешнем диске. Если у меня есть приложение, в котором я внес изменения в файл, который находится на недоступном диске, необходимо сохранить файл в другой доступный раздел по двум причинам :1 ), чтобы данные сохранялись, и 2 )для разрыва связи с недоступным разделом.Затем я размонтирую раздел (s )с помощью
sudo umount /dev/sde
или любое другое назначение для всех разделов внешнего диска. Затем я перемонтирую все разделы (с )с
sudo mount -a
После этого я обнаружил, что ошибочный раздел теперь снова доступен любому приложению, даже если раздел по-прежнему назначен /dev/sde вместо ожидаемого /dev/sdc. Поскольку fstab работает с метками и монтирует эти разделы в папки, это переназначение не является проблемой. Кажется, мне приходится делать это два или три раза в месяц.
Мне интересно, хотя я использую метки для идентификации разделов, если mount сопоставляет метку с назначением буквы устройства, что и вызывает эту проблему. Точно сказать не могу... Просто в раздумьях.
если у вас есть pid sshd,
pkill --parent pid
должен отправлять SIGTERM всем дочерним элементам sshd
возможно, добавьте --signal kill
, если вы хотите -заставить их убить
Если вы знаете порт ssh, вы можете просто убить все текущие сеансы tcp, которые были инициированы через него:
ss -K dport 22
Это убивает все активные сеансы ssh, которые были запущены через порт 22, оставляя другие сеансы ssh нетронутыми. Не забудьте остановить демон sshd
перед завершением его сеансов.
Запустите это, чтобы узнать, какие PID вас интересуют.
netstat -n -eep | grep port_number
Запустите любую из этих команд, чтобы увидеть интересные дочерние процессы и завершить их:
ps fax
# or
pstree -p