По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В данной статье мы постараемся разобрать, как создать, отследить и завершить процесс. Посмотрим следующие задачки: Запуск задачи в активном и фоновом режиме; Заставить задачу выполнятся после выхода из системы; Отслеживать и сортировать активные процессы; Завершать процессы; Постараемся разобрать следующие понятия: Fg (foreground) и bg (background); Nohup (no hang up); Ps - информация об активных процессах; Pstree - дерево процессов; Pgrep - поиск процессов; Pkill - завершение процессов; Top - диспетчер задач; Free - загрузка оперативной памяти; Uptime - время и полнота загрузки; Screen - управление сессиями. Начнем разбирать данную тему с простой команды. Команда sleep man sleep С помощью данной команды мы можем выставить задержку на определенное время, собственно, о чем и написано в справочной статье. Она обычно пригождается, когда необходимо выполнить какой-то скрипт и компьютер должен немного подождать. В частности, мы можем посмотреть следующий пример: sleep 1000 - после данной команды, мы можем вводить в консоль различные символы, они будут появляться на экране но машина и операционная система не будет реагировать. Для того чтобы прервать нажимаем ctrl + c сочетание клавиш. Когда набираем команду, она начинает работать в активном режиме и занимает консоль, и мы соответственно ничего не можем делать. Так как компьютер у нас сейчас много задачный, процессор многозадачный, операционная система многозадачная, мы можем запускать какие-то процессы в фоновом режиме. Для того, чтобы это сделать необходимо набрать команду и в конце поставить знак амперсанда "". Т.е. мы получим следующее sleep 1000. Как, только мы написали команду плюс амперсанд и нажали Enter. Мы видим появился один процесс, и он бежит в фоновом режиме. Есть такая команда jobs, она показывает выполняющиеся задачи, бегущие процессы. И вот мы видим, что у нас есть одна выполняющаяся задача sleep на 1000 секунд. Мы можем еще запустить один sleep 999. Практического эффекта нету, данный пример необходим для наглядности процессов. Появился еще один процесс с отличным от прошлого id. Итого у нас 2 процесса. Теперь представим, что нам необходимо поработать с сервером, но в настоящий момент необходимо обновить, например, репозиторий или пакеты. Мы запускаем процесс обновления с амперсандом и продолжаем работу в обычном режиме, консоль стандартного вывода у нас свободна. Но если нам необходимо вернутся к процессу, который бежит в фоне. Мы можем использовать команду fg и номер процесса, например, 1 или 2. Так же сданной командой мы можем использовать PID, т.е. уникальный идентификатор процесса. Таким образом мы можем видеть, что мы оказались внутри указанного процесса. Для выхода нажимаем ctrl+z. И теперь данная задача будет остановлена. В чем можно убедится, используя команду job. И соответственно, чтобы запустить процесс используем команду bg #процесса. Небольшой итог: Есть команда, показывающая процессы jobs. И команды fg и bg, которые позволяют отправить процессы в фоновый режим и вернуть обратно. Команда PS man ps Согласно описанию, данная команда показывает снапшот текущих процессов. У данной команды очень много ключей, но очень часть данная команда используется в таком виде ps aux. Это означает вывести результат по всем пользователям, все процессы, даже запущенные вне нашего терминала. Это помогает, когда у нас много пользовательская среда, или мы запустили от имени суперпользователя, а сами переключились на текущего. Выглядит данная картинка примерно так: На данной картинке мы можем увидеть от имени какого пользователя процессы выполняются. Это снимок процессов системы, статический снапшот. Он выполнен на тот момент, когда мы подали команду на терминал. Внизу на картинке, можно увидеть наши sleep, значит они на момент ввода команды бежали в фоновом режиме. Кроме того, мы можем запускать данную команду, через pipeline. Например: ps aux | grep sleep Команда grep - отсортировать. И в данном случае мы увидим только два наших процесса. Мы так же можем убить процессы. Процессы убиваются командой kill PID (т.е по его ID). Вот таким образом мы можем завершить процесс. Запустим еще несколько процессов. Теперь мы можем их завершить массово с использованием их сортировки killall sleep например. Мы можем увидеть, что процессы завершились. Данная команда может быть полезно при зависании какого ни будь приложения. Действие данной команды работает, только в пределах пользователя от которого данную команду запустили. Если выполнять данную команду от root. То данная команда завершит процессы у всех пользователей с именем sleep. Если мы создадим процесс, а затем выйдем из терминала (команда exit). Заходя обратно выполняя ps aux мы так же в фоне увидим, что процесс выполняется. А набрав jobs мы не увидим данный процесс. Это происходит потому, что команда jobs показывает только текущие процессы запущенные из данной консоли. Есть такой тонкий нюанс. Если мы запускаем в нашем сеансе процессы, бэкграунд или активный режим, при завершении сессии наши процессы завершаются. Получается следующее, при подключении к серверу, через ssh все наши процессы запущенные при обрыве сессии прервутся. Например, мы запустим процесс обновления системы и завершим нашу сессию процесс обновления прервется. Чтобы у нас процессы не завершались при выходе из системы пользователя, есть команда nohup. Используем ее. nohup sleep 10000 Во-первых, данная команда позволяет заменить стандартный вывод на вывод в файл и во -вторых команда будет выполнятся, пока будет запущенна операционная система. Вне зависимости от наличия пользователя в системе, который запустил. Есть достаточно много нюансов. Можно логинится, разлогиниватся и попадать в тот же сеанс, а в современных Ubuntu уже практически нет необходимости использовать данную команду. Но все же, чтобы гарантированно процесс работал необходимо использовать данную команду. Теперь можно посмотреть команду pstree. Данная команда позволяет посмотреть все процессы в иерархическом виде дерева. На картинке, четко виден родительский процесс systemd, который запускает все остальные процессы. Например sshd - подключение к серверу, которое запускает bash - интерпретатор, далее запускается sudo , su и pstree в самом конце. Есть еще интересные команды pgrep и pkill. Есть просто запустить pgrep то данная команда ничего не выдаст. А если в совокупности с ключами и названием процесса, то данная команда вернет идентификационный номер данного процесса. Мы так же можем добавить ключ -l, то команда вернет и название процессов. У нее много других ключей. Можно, например, команде сказать pgrep -u root -l, т.е показать все процессы пользователя root. Следовательно, команда pkill позволяет убить все эти процессы. Например: pkill sleep. Мы убили все процессы sleep. В реальной же ситуации, мы обычно используем команду top. Данная команда позволяет наблюдать и не только в режиме реального времени за процессами. Посмотрим на данные выводимые данной утилитой. Мы видим, что по умолчанию данная утилита сортирует по загрузке процессора. Мы можем перейти в режим помощи нажав клавишу "h". Ключей и опций у данной утилиты достаточно много. Можно воспользоваться клавишами """", для переключения сортировки, например на сортировку по загруженности оперативной памяти. В данной утилите мы можем сказать, что необходимо завершить той или иной процесс. Практически он аналогичен Диспетчеру задач в операционной системе windows. Для того, чтобы убить процесс нажимаем клавишу "k" и система ждет ввода PID процесса. По умолчанию он берет тот PID, который находится в самом верху. Т.е. по факту самый загружающий процесс систему. Если у нас, что-то висит, то достаточно удобно завершить такой процесс. После ввода PID система запросит, какой сигнал ей необходимо послать по умолчанию сигнал номер 15 или sigterm - т.е. сигнал завершения работы в мягком режиме. Если мы хотим использовать более жесткий вариант отправляем цифру 9, или sigkill. В таком случае операционная система, очень жестко потушит процесс наплевав на зависимые процессы от данного и те процессы от которых зависит данный процесс. Команда uptime man uptime Данная команда показывает, как долго у нас запущена система. Сам по себе эти данные нам ничего не дают. Данная команда. полезна в контексте, если нам передали сервера, и мы видим у них очень большой аптайм, следовательно, сервера не обновлялись и не перезагружались. Данная команда полезна помимо параметра сколько запущенна системаданная команда показывает общую загрузку системы. Это показывают три цифры в выводе данной команды. Там достаточно сложная формула по которой рассчитывается данный параметра, во внимание принимается загрузка ЦП, жестких дисков, оперативной памяти. Первая цифра - это загрузка в минуту, вторая цифра - это загрузка в последние пять минут и третья цифра - это загрузка в последние 15 минут. Исходя из последней картинки, цифры примерно одинаковые, а значит нагрузка равномерна. Если цифры скачут, значит необходимо анализировать, особенно если на сервере есть просадка по производительности. Команда free man free Данная команда показывает свободное и используемое количество памяти в системе. И в данном случае, так же, как и в windows task manager, под памятью понимается оперативная память, так и файл подкачки (windows), раздел подкачки (swap Linux). Swap раздел, это раздел системы используемый для ее нужд если системе не хватает оперативной памяти. Это раздел на жестком диске, который используется в качестве оперативной памяти. Но жесткий диск значительно медленней оперативной памяти, поэтому сначала заполняется оперативная память, а только потом используется раздел подкачки (swap). Команда screen man screen Она есть не во всех дистрибутивах по умолчанию. Эта команда, которая позволяет создать типа оконного менеджера. Это удобно, когда подключаешься по ssh и получаешь, как будто бы несколько окон в пределах одного терминала. Понятно, что современные ssh клиенты позволяют открыть сколько угодно вкладок и работать с ними параллельно. Запускаем screen. Переходим во внутрь screen, запускаем какую-нибудь команду, например, ping ya.ru. Далее нажимаем ctrl+a и затем d и получаем: Первая команда позволяет находится в текущем окне, а вторая клавиша d позволяет свернуть текущий скрин. Теперь можно закрывать терминал, вылогиниваться из консоли. Процесс запущенный в скрине будет работать. Для того, чтобы восстановить окно с процессом достаточно ввести screen -r и мы вернемся к бегущему процессу. Для того, чтобы завершить screen необходимо внутри ввести exit. Если у нас есть потребность запустить несколько окон, то можно это сделать следующим образом: Screen -S yandex ping ya.ru, screen -S rambler ping r0.ru Где yandex и rambler - это просто названия окон (alias) Просмотреть бегущие окна: screen - ls Чтобы вернутся к нужному окну вводим screen -r alias
img
В сегодняшней статье мы покажем, как настроить PPTP клиент на роутерах Mikrotik. Мы будем проводить все настройки на модели RB951Ui-2HnD, но написанное в этой статье будет актуально для любой модели Mikrotik, поддерживающей PPP. Протокол PPTP Для начала немного теории. PPTP (Point To Point Tunnel Protocol) это протокол, который позволяет создать незашифрованный туннель через публичную сеть Интернет. Для шифрования данного туннеля вместе с PPTP обычно применяется протокол Microsoft Point-to-Point Encryption (MPPE). PPTP поддерживает различные методы аутентификации, которые включены в PPP, такие как: pap, chap, mschap2, mschap1. Для использования PPTP зарезервирован порт 1723 и протокол GRE для энкапсуляции фреймов. Основные задачи, которые решает PPTP: Безопасное соединение роутеров через Интернет по защищенному туннелю Подключение удаленных пользователей для доступа к ресурсам локальной сети Соединение распределенных локальных сетей через Интернет Настройка PPTP клиента Для того, чтобы настроить PPTP клиент на роутерах Mikrotik при помощи приложения WinBox, нужно открыть раздел PPP → Interface → + и выбрать PPTP Client, как показано ниже: Откроется окно добавления нового интерфейса. На вкладке General можно оставить всё по умолчанию. Переходим на вкладку Dial Out и выполняем следующие настройки: Connect To - Сюда вписываем адрес или ddns сервера PPTP/ VPN (Например - OpenVPN). User - Логин для подключения к серверу PPTP/VPN Password - Пароль для подключения к серверу PPTP/VPN На самом базовом уровне этих данных вполне достаточно. Осталось только добавить несколько правил, которые разрешат использование PPTP. Для этого открываем раздел IP> → Firewall → NAT и нажимаем +. Перед нами открывается страница добавления нового правила, заполняем её следующим образом: Здесь Out Interface - интерфейс для PPTP клиента, который мы создавали ранее.
img
Утилита Linux fsck (File System Consistency Check - проверка согласованности файловой системы) проверяет файловые системы на наличие ошибок или нерешенных проблем. Инструмент используется для исправления потенциальных ошибок и создания отчетов. Эта утилита по умолчанию входит в состав дистрибутивов Linux. Для использования fsck не требуется никаких специальных шагов или процедуры установки. После загрузки терминала вы готовы использовать функции инструмента. Следуйте этому руководству, чтобы узнать, как использовать fsck для проверки и восстановления файловой системы на Linux-машине. В руководстве будут перечислены примеры того, как использовать инструмент и для каких вариантов использования. Когда использовать fsck в Linux Инструмент fsck можно использовать в различных ситуациях: Используйте fsck для запуска проверки файловой системы в качестве профилактического обслуживания или при возникновении проблемы с вашей системой. Одна из распространенных проблем, которые может диагностировать fsck, - это когда система не загружается. Другой - когда вы получаете ошибку ввода/вывода, когда файлы в вашей системе становятся поврежденными. Вы также можете использовать утилиту fsck для проверки состояния внешних накопителей, таких как SD-карты или USB-накопители. Базовый синтаксис fsck Базовый синтаксис утилиты fsck следует этому шаблону: fsck <options> <filesystem> В приведенном выше примере файловой системой может быть устройство, раздел, точка монтирования и так далее. Вы также можете использовать параметры, относящиеся к файловой системе, в конце команды. Как проверить и восстановить файловую систему Перед проверкой и восстановлением файловой системы необходимо выполнить несколько шагов. Вам нужно найти устройство и размонтировать его. Просмотр подключенных дисков и разделов Чтобы просмотреть все подключенные устройства в вашей системе и проверить расположение диска, используйте один из доступных инструментов в Linux. Один из способов найти диск, который вы хотите просканировать, - это перечислить диски файловой системы с помощью команды df: df -h Инструмент показывает использование данных в вашей системе и файловых системах. Обратите внимание на диск, который вы хотите проверить, с помощью команды fsck. Например, для просмотра разделов вашего первого диска используйте следующую команду: sudo parted /dev/sda 'print' sda - это то, как Linux относится к вашему первому SCSI-диску. Если у вас два, вторым будет sdb и так далее. В нашем примере мы получили один результат, поскольку на этой виртуальной машине был только один раздел. Вы получите больше результатов, если у вас будет больше разделов. Имя диска здесь /dev/sda, а затем количество разделов отображается в столбце Number. В нашем случае это один: sda1. Размонтировать диск Прежде чем вы сможете запустить проверку диска с помощью fsck, вам необходимо отключить диск или раздел. Если вы попытаетесь запустить fsck на смонтированном диске или разделе, вы получите предупреждение: Обязательно выполните команду размонтирования: sudo umount /dev/sdb Замените /dev/sdb устройством, которое вы хотите размонтировать. Обратите внимание, что вы не можете размонтировать корневые файловые системы. Следовательно, теперь fsck нельзя использовать на работающей машине. Подробнее об этом в конце руководства. Запустить fsck для проверки ошибок Теперь, когда вы отключили диск, вы можете запустить fsck. Чтобы проверить второй диск, введите: sudo fsck /dev/sdb В приведенном выше примере показан результат для чистого диска. Если на вашем диске имеется несколько проблем, для каждой из них появляется запрос, в котором вы должны подтвердить действие. Код выхода, который возвращает утилита fsck, представляет собой сумму этих состояний: Смонтировать диск Когда вы закончите проверку и ремонт устройства, смонтируйте диск, чтобы вы могли использовать его снова. В нашем случае мы перемонтируем SDB-диск: mount /dev/sdb Сделать пробный запуск с fsck Перед выполнением проверки в реальном времени вы можете выполнить тестовый запуск с помощью fsck. Передайте параметр -N команде fsck, чтобы выполнить тест: sudo fsck -N /dev/sdb На выходе печатается, что могло бы произойти, но не выполняется никаких действий. Автоматическое исправление обнаруженных ошибок с помощью fsck Чтобы попытаться устранить потенциальные проблемы без каких-либо запросов, передайте параметр -y команде fsck. sudo fsck -y / dev / sdb Таким образом, вы говорите «да, попытайтесь исправить все обнаруженные ошибки» без необходимости каждый раз получать запрос. Если ошибок не обнаружено, результат будет таким же, как и без опции -y. Пропускать восстановление, но выводить ошибки fsck на выходе Используйте параметр -n, если вы хотите проверить потенциальные ошибки в файловой системе, не исправляя их. У нас есть второй диск sdb с некоторыми ошибками журнала. Флаг -n печатает ошибку, не исправляя ее: sudo fsck -n /dev/sdb Заставить fsck выполнить проверку файловой системы Когда вы выполняете fsck на чистом устройстве, инструмент пропускает проверку файловой системы. Если вы хотите принудительно проверить файловую систему, используйте параметр -f.Например: sudo fsck -f /dev/sdb При сканировании будут выполнены все пять проверок для поиска повреждений, даже если будет обнаружено, что проблем нет. Запустить fsck сразу для всех файловых систем Если вы хотите выполнить проверку всех файловых систем с помощью fsck за один раз, передайте флаг -A. Эта опция будет проходить через файл etc/fstab за один проход. Поскольку корневые файловые системы нельзя размонтировать на работающей машине, добавьте параметр -R, чтобы пропустить их: fsck -AR Чтобы избежать запросов, добавьте параметр -y, о котором мы говорили. Пропустить проверку fsck в определенной файловой системе Если вы хотите, чтобы fsck пропустил проверку файловой системы, вам нужно добавить -t и no перед файловой системой. Например, чтобы пропустить файловую систему ext3, выполните эту команду: sudo fsck -AR -t noext3 -y Мы добавили -y, чтобы пропускать запросы. Пропустить Fsck в подключенных файловых системах Чтобы убедиться, что вы не пытаетесь запустить fsck на смонтированной файловой системе, добавьте параметр -M. Этот флаг указывает инструменту fsck пропускать любые смонтированные файловые системы. Чтобы показать вам разницу, мы запустим fsck на sdb, пока он смонтирован, а затем, когда мы его размонтируем. sudo fsck -M /dev/sdb Пока sdb смонтирован, инструмент выходит без проверки. Затем мы размонтируем sdb и снова запускаем ту же команду. На этот раз fsck проверяет диск и сообщает, что он чистый или с ошибками. Примечание. Чтобы удалить первую строку заголовка инструмента fsck «fsck from util-linux 2.31.1», используйте параметр -T. Запустить fsck в корневом разделе Linux Как мы уже упоминали, fsck не может проверить корневые разделы на работающей машине, поскольку они смонтированы и используются. Однако даже корневые разделы Linux можно проверить, если вы загрузитесь в режиме восстановления и запустите проверку fsck: 1. Для этого включите или перезагрузите компьютер через графический интерфейс или с помощью терминала: sudo reboot 2. Нажмите и удерживайте клавишу Shift во время загрузки. Появится меню GNU GRUB. 3. Выберите Advanced options for Ubuntu (Дополнительные параметры для Ubuntu). 4. Затем выберите запись с (recovery mode - режим восстановления) в конце. Подождите, пока система загрузится в меню восстановления. 5. Выберите fsck в меню. 6. Подтвердите, выбрав Yes в ответ на запрос. 7. По завершении выберите resume в меню восстановления, чтобы загрузить машину. Что делать, если fsck прерывается? Вам не следует прерывать работу инструмента fsck, пока он работает. Однако, если процесс будет прерван, fsck завершит текущую проверку, а затем остановится. Если утилита обнаружила ошибку во время проверки, она не будет пытаться что-либо исправить, если ее прервать. Вы можете повторно запустить проверку в следующий раз и дождаться ее завершения. Обзор параметров команды Linux fsck Подводя итоги, ниже приведен список параметров, которые вы можете использовать с утилитой fsck Linux. -а - Попробует автоматически исправить ошибки файловой системы. Подсказок не будет, поэтому используйте его с осторожностью. -А - Проверяет все файловые системы, перечисленные в /etc/fstab. -C - Показать прогресс для файловых систем ext2 и ext3. -f - Заставляет fsck проверить файловую систему. Инструмент проверяет, даже если файловая система кажется чистой. -l - Заблокирует устройство, чтобы другие программы не могли использовать раздел во время сканирования и восстановления. -M - Не проверяет смонтированные файловые системы. Инструмент возвращает код выхода 0, когда файловая система смонтирована. -N - Делает пробный запуск. В выводе печатается, что fsck будет делать без выполнения каких-либо действий. Также печатаются предупреждения или сообщения об ошибках. -П - Используется для параллельного сканирования нескольких файловых систем. Это может вызвать проблемы, в зависимости от ваших настроек. Используйте с осторожностью. -Р - Сообщает инструменту fsck, чтобы он не проверял корневые файловые системы при использовании параметра -A. -р - Распечатать статистику устройства. -t - Укажите типы файловых систем для проверки с помощью fsck. Обратитесь к странице руководства для получения подробной информации. -T - Скрыть заголовок при запуске инструмента. -у - Попытается автоматически исправить ошибки файловой системы во время проверки. -V - Подробный вывод.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59