- Команда умение Linux
- грамматика
- примеров
- Как завершить процесс в Linux. Команды kill, pkill,killall
- Синтаксис
- Примеры
- Прерывание процесса по имени. Команда pkill
- Команда killall
- Заключение
- Kill: Завершение неконтролируемых процессов
- Программисты против пользователей
- Сигналы и контроль над процессами
- Вернемся к нашим SIGHUP’ам
- Применение команды kill к процессам
- Команда kill, встроенная в Bash
- Ресурсы
- Svn add all files
- Connect to the host in nat mode via ssh
- Time server synchronization
- After installing redhat, the source can’t be used.
- Configure passwordless login
- System upgrade error, the following two methods can be
- Ubuntu can’t use wireless routing with hidden ssid
- Ubuntu modify sudoers configuration password-free execution sudo
- Install flash
- Domain name is not connected, ping pass
- Calculator bc set decimal point precision
- Ufw allow prompts apache configuration file to repeat
- Configuring dns
- Local remote execution command
- Kernel upgrade
- Modify the default open mode of files in ubuntu
- Keyexpired when updating
- There is no ifconfig in redhat
- Soft link ln
- Modify ip address in ubuntu
- Install asciiquarium
- Cowsay and xcowsay
- Watch the Star Wars
- fortune
- ulimit
- netstat
- Install jdk
- Install openjdk
- Configure default route
Команда умение Linux
Команда умение Linux, чтобы послать сигнал программа выполняется, сообщение по умолчанию СРОК (прерывистая), которого сообщение чаще используется HUP, INT, убейте, STOP, CONT и 0.
Есть три написание сообщения: соответственно -9, -SIGKILL, -KILL, вы можете использовать опцию -l или -L перечисленные сообщения могут быть использованы.
Доступ: Все пользователи.
Другие связанные команды: убить
грамматика
- -f быстрый режим / не завершен
- -i интерактивный режим / каждое действие должно быть подтверждено
- -v подробный вывод / перечислены в выбранной информации о программе
- -w Интеллектуальное предупреждение / не завершена
- -n каких-либо действий / отображения программного кода
Параметры: Процесс выбора правила может быть: терминал код, имя пользователя, программный код, имя команды.
- -t терминал код (TTY или псевдотерминал)
- -u имя пользователя
- -p программный код (ИДП)
- Signal -c имя команды может быть использована
Ниже перечислены известные названия сигнала, сигнала код, функции.
名称(代号) | 功能/描述 |
---|---|
ALRM 14 | 离开 |
HUP 1 | 离开 |
INT 2 | 离开 |
KILL 9 | 离开/强迫关闭 |
PIPE 13 | 离开 |
POLL | 离开 |
PROF | 离开 |
TERM 15 | 离开 |
USR1 | 离开 |
USR2 | 离开 |
VTALRM | 离开 |
STKFLT | 离开/只适用于i386、m68k、arm 和 ppc 硬件 |
UNUSED | 离开/只适用于i386、m68k、arm 和 ppc 硬件 |
TSTP | 停止/产生与内容相关的行为 |
TTIN | 停止/产生与内容相关的行为 |
TTOU | 停止/产生与内容相关的行为 |
STOP | 停止/强迫关闭 |
CONT | 重新启动/如果在停止状态则重新启动,否则忽略 |
PWR | 忽略/在某些系统中会离开 |
WINCH | 忽略 |
CHLD | 忽略 |
ABRT 6 | 核心 |
FPE 8 | 核心 |
ILL 4 | 核心 |
QUIT 3 | 核心 |
SEGV 11 | 核心 |
TRAP 5 | 核心 |
SYS | 核心/或许尚未实作 |
EMT | 核心/或许尚未实作 |
BUS | 核心/核心失败 |
XCPU | 核心/核心失败 |
XFSZ | 核心/核心失败 |
примеров
Остановите все программы на устройстве PTY
Прекратить три пользователя пользователь1, пользователь2 User3
Источник
Как завершить процесс в Linux. Команды kill, pkill,killall
В операционных системах Linux есть команда Kill, прерывающая процесс. Она позволяет серверу продолжать работу после серьезных изменений и обновлений без необходимости перезагрузки. Это одно из важнейших преимуществ Linux и одна из причин того, почему она установлена на 90% серверов в мире. Команда kill отправляет процессу специальный сигнал. Ее можно запустить различными способами, непосредственно из командной строки или из скрипта.
Синтаксис
Использование команды kill из /usr/bin предоставляет дополнительную возможность прервать процесс по его имени при помощи pkill. Стандартный синтаксис команды kill следующий:
Для команды kill существует около 60 сигналов, но основные значения следующие:
Имя сигнала | Номер сигнала | Действие |
SIGHUP | 1 | Отключить |
SIGKILL | 9 | “Убить” |
SIGTERM | 15 | Прервать |
SIGTERM используется по умолчанию. Это самый безопасный способ прерывания процесса, когда приложению отправляется запрос, который может быть обработан или проигнорирован. SIGHUP — менее безопасный способ. SIGKILL — наименее безопасный вариант, прерывание процесса без сохранения, этот сигнал не может быть проигнорирован или перехвачен.
Идентификаторы процессов
Чтобы прервать (“убить”) процесс, нам нужно знать его идентификатор (Process ID или PID). Он генерируется автоматически при запуске каждой программы и есть у каждого процесса в Linux. Первый процесс, запускаемый при загрузке Linux — init, поэтому в большинстве случаев ему присваивается идентификатор ‘1’.
Init — системный процесс, его нельзя прервать таким образом. При получении сигнала он сам решает, позволить ли себя прервать, таким образом, команда kill становится просто запросом на отключение системы. Это сделано для того, чтобы исключить случайное прерывание системных процессов.
Увидеть все запущенные процессы и соответствующие им идентификаторы можно при помощи следующей команды:
Для получения идентификатора конкретного процесса можно воспользоваться командой pidof, которой в качестве аргумента задается его имя.
Также можно сделать фильтрацию с помощью grep
Примеры
Прежде чем перейти непосредственно к исполнению команды kill, следует сделать ряд важных замечаний:
- Пользователь может прервать любой свой процесс.
- Пользователь не может прервать процесс другого пользователя..
- Суперпользователь (root) может прервать системный процесс и процесс любого пользователя.
- Пользователь не может прервать системный процесс
Чтобы “убить” процесс с указанным PID, нужно выполнить следующую команду (приведен пример для процесса mysqld из предыдущего раздела):
Будет “убит” процесс с PID=1684, то есть mysqld.
Можно использовать не только номер, но и название сигнала/ Например, для запроса на прерывание, который можно обработать или проигнорировать:
Аналогично, команда kill -SIGKILL PID эквивалентна команде # kill -9 PID
Для прерывания нескольких процессов можно указать их идентификаторы через пробел:
Прерывание процесса по имени. Команда pkill
Для прерывания процесса по имени, а не идентификатору, используется команда pkill. Нужно внимательно вводить имя процесса, так как прерывание не того процесса может привести к сбоям:
Если у процесса слишком много экземпляров и дочерних процессов, существует команда killall, которой в качестве аргумента также задается имя процесса.
Для прерывания всех экземпляров mysqld с дочерними процессами воспользуйтесь следующей командой:
Далее можно проверить состояние процесса (запущен он или нет), например:
Команда killall
Еще одна полезная команда для завершения процессов, это команда killall. Эта команда также как и pkill может завершить все процессы имеющие одно имя
А также весьма полезна бывает когда нужно завершить все процессы какого нибудь пользователя.
Заключение
Мы разобрали, как прерывать процессы в Linux и рассмотрели несколько используемых для этого команд. Эти команды следует применять с большой осторожностью, так как неосмотрительное прерывание процесса может привести к системным сбоям или потере важных данных. Для более подробной информации, различных вариантов передаваемых сигналов и других опций можно обратиться к соответствующим man-страницам.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Kill: Завершение неконтролируемых процессов
Вы усердно боретесь с особо заковыристым приложением Линукс. Продираясь через дебри документации, запускаете команды и правите конфигурационные файлы. Все работает, и жизнь прекрасна. Как вдруг вас ошарашивает сообщение «send the process a SIGHUP» (пошлите процессу SIGHUP).
По инерции вы движетесь дальше. Что это за SIGHUP такой, и как его посылают? Вы почти уверены, что это не команда, но, на всякий случай, пробуете. Нет, не то. Перечитываем ман к приложению:
Когда получен сигнал о том, что программа зависла — SIGHUP, sshd перечитывает свой конфигурационный файл путем запуска самой себя с теми же именем и опциями, с которыми была первоначально запущена, например, /usr/sbin/sshd.
Программисты против пользователей
Сигналы и контроль над процессами
Сигналы нужны для того, чтобы взаимодействовать с процессами и демонами. Процессом называется любое активное действие. Демоны являются фоновыми (background) процессами, и до поры скрыты. Они ждут либо события, на которое они отреагируют, либо наступления времени, назначенного для выполнения некоего задания по расписанию. О наступлении этого события они узнают, получая сигнал от какого-то другого процесса. Каждая программа должна иметь в своем коде обработчик сигналов, чтобы отслеживать (перехватывать) сигналы и правильно реагировать на них. Страница руководства man signal описывает всевозможные сигналы и их действия. Сигналы посылают при помощи команды kill («убить»). Команда kill -l выводит список сигналов и их номеров.
Все демоны и процессы имеют Идентификатор Процесса (PID). PID процесса можно узнать при помощи команды ps:
В приведенном выше примере, вывод команды сильно сокращен — в вашей системе вы увидите куда больше строк и столбцов. Если какой-нибудь процесс «ворует» мощность вашего процессора или вашу память, вы увидите это в столбцах %CPU и %MEM.
Еще быстрее «зарвавшийся» процесс можно обнаружить при помощи команды top. В ней, по умолчанию, процессы, потребляющие больше ресурсов процессора, расположены в верхних строках таблицы. Мы можем немного поиграть с программой top при помощи команды yes:
$ yes carla is teh awesum
Эта команда станет повторять «carla is teh awesum» с большой скоростью, пока вы ее не остановите. Она загонит процент использования процессора в красную зону:
Интересно, что ответственность за разбазаривание мощности CPU ложится на консоль, а не на программу yes, так как yes работает внутри консоли. Если вы перейдете на «истинную» консоль (Ctrl+Alt+F2), то там увидите программу yes с большими цифрами потребления мощности процессора и использования памяти.
Существует несколько способов остановить yes. Если вы перейдете обратно в шелл, где она работает, просто нажмите Ctrl+C. Вы можете также остановить ее при помощи команды kill в другом шелле, как по PID, так и по имени:
$ kill 22236
$ killall yes
Ctrl+C посылает с клавиатуры сигнал SIGINT (2), или завершающее прерывание (terminate interrupt). kill и killall, оба, шлют по умолчанию SIGTERM (15). SIGTERM (15) может быть перехвачен и, либо игнорирован, либо интерпретирован иначе. Так что, в случае непредсказуемой работы, вы можете не добиться завершения процесса.
Применяя команду kill к родительскому процессу, вы, как правило (но не всегда), завершаете дочерний вместе с ним. Как узнать, какой процесс является дочерним? Используйте команду ps с опцией -f :
Вернемся к нашим SIGHUP’ам
# killall -HUP ‘process-name’
Как видите, можно использовать PID или имя процесса, а также имя или номер сигнала.
Зачем применять все эти команды, когда можно перезапустить процессы при помощи команды /etc/init.d/foo restart? Ведь предпочтительней контролировать сервисы с помощью их файлов init, так как такой контроль обычно включает санацию, проверку ошибок и другие функции. Если говорить честно, то главная причина использовать команду kill и сигналы состоит в том, чтобы остановить зависший или сбойный процесс как можно аккуратнее, и не прибегать к перезагрузке или завершению сеанса.
Применение команды kill к процессам
kill -STOP ‘pid’
SIGSTOP (19) останавливает процесс, не «убивая» его.
kill -CONT ‘pid’
SIGCONT (18) перезапускает остановленный процесс.
kill -KILL ‘pid’
SIGKILL (9) форсирует немедленное завершение процесса, и не производит никакой чистки.
kill -9 -1
Завершает все ваши процессы (которыми вы владеете).
SIGKILL и SIGSTOP не могут быть перехвачены, блокированы или игнорированы; остальные могут. Это ваше «большое ружье», последнее средство обороны.
Команда kill, встроенная в Bash
$ type -all kill
kill is a shell built-in
kill is /bin/kill
Маловероятно, что у вас возникнут конфликты или странное поведение программ, но на всякий случай выбирайте /bin/kill.
Не поленитесь получше познакомиться с большим миром команды kill, изучив приведенные ниже ресурсы. Это предоставит вам возможность решать возникающие проблемы путем тонкого хирургического вмешательства, не прибегая к перезагрузке системы при каждом сбое программы.
Ресурсы
- Глава 7 «Starting and Stopping Linux», Поваренная книга Линукс (the Linux Cookbook)
bash (1) — GNU Bourne-Again Shell
yes (1) — повторно выводит строку, пока не будет остановлена
signal (7) — список сигналов
ps (1) — мгновенный снимок идущих процессов
kill (1) — посылает сигнал процессу
killall (1) — «убивает» процесс по имени
pkill (1) — ищет или дает сигнал процессам на основе имени или других атрибутов
skill (1) — посылвет сигнал, либо рапортует о статусе процесса
Источник
Svn add all files
Svn add * will ignore all directories that are already under version control. Sometimes, you’ll want to add unversioned files for all working copies, including those hidden deep, which can be recursed to the versioned directory using —force with svn add
Connect to the host in nat mode via ssh
By adding port forwarding in the network configuration
For example, the ip of the virtual host is 10.0.2.15
Add a mapping of 127.0.0.1:5555 to 10.0.2.15:22
Time server synchronization
After installing redhat, the source can’t be used.
Can execute the following command, if it is not redhat6, you can goAli CloudLook at the address of the repo or list
Configure passwordless login
Note that the permissions of the .ssh folder are 700, and the file permissions for the key record are 600.
System upgrade error, the following two methods can be
1 change source
2
sudo apt -f install
sudo apt autoremove
Ubuntu can’t use wireless routing with hidden ssid
First of all, the wireless network card can not be used, re-plug the following just fine
Secondly, if the wireless route of the hidden ssid is not found, it will enter 192.168.1.1 and configure the channel to be fixed. For example, 11 or something else, people in ask ubuntu say that 11 can be I can’t do this with 11, but with 13 or 12
Ubuntu modify sudoers configuration password-free execution sudo
Note, don’t change chmod777, otherwise, the system will prompt to save, you will not let you do it, so you can’t change it back.
Install flash
Download the flash tarball, unzip it, execute the following command
Domain name is not connected, ping pass
Possible hosts configuration error
Calculator bc set decimal point precision
Set a value for scale, the default is 0
scale=20;7965.00/8000.00
Ufw allow prompts apache configuration file to repeat
When executing ufw allow, prompt
apache2 apache2.2-common apache2-utils.ufw.profile openssh-server
Repeat with apache2.2-common and apache2-utils.ufw.profile
Remove one of the configuration files and you’re done.
Configuring dns
Local remote execution command
First match with no password to login, then execute
Kernel upgrade
View the installed kernel
dpkg —get-selections |grep linux-image
linux-image-4.4.0-29-generic install
linux-image-4.4.0-31-generic install
linux-image-extra-4.4.0-29-generic install
linux-image-extra-4.4.0-31-generic install
linux-image-generic install
View the kernel version you are using now
Delete the uninstalled package. Note that you can delete the extra package before you can delete the corresponding generic package.
sudo dpkg -P linux-image-4.4.0-27-generic
sudo dpkg -P linux-image-extra-3.5.0-17-generic
Modify the default open mode of files in ubuntu
Cd to the /home/leisurem/.local/share/applications directory
If there is mimeapps.list, modify it, don’t create it, add the following content
Create a new sublime_text.desktop, add the following content, note that the name is followed by the same name as the actual name, the icon is an icon
Keyexpired when updating
There is no ifconfig in redhat
yum install net-tools
Soft link ln
When creating a soft link, don’t add it at the end. / Otherwise, a soft link will be created under the directory
ln -fs /vagrant /var/www/html
will put varant Map to html
but ln -fs /vagrant /var/www/html/
will be in html Add one vagrant table of Contents
Modify ip address in ubuntu
modify /etc/network/interfaces The following configuration are examples of dhcp and static ip
dns at /etc/resolv.conf in
Install asciiquarium
This is a string of aquarium
First install Term::Animation
Cowsay and xcowsay
Let the cows talk, the latter needs x11
Watch the Star Wars
telnet towel.blinkenlights.nl
Telnet to watch Star Wars, IPV6 can see the color version.
Exit is ctrl + ] then quit
fortune
Randomly generate a proverb
ulimit
netstat
Install jdk
sudo vim /etc/profile
export JAVA_HOME=/usr/lib/jdk1.8.0_73
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
Install openjdk
Configure default route
Add delete default route command is
Sometimes, the ip of some network segments needs to be accessed through the corresponding route. For example, the ip of 192.168.3.0 network segment should go 192.168.6.66, use the following command.
route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.1.10
can also be written as
route add -net 192.168.3.0/24 gw 192.168.6.66
If it is deleted, it is
route del -net 192.168.3.0 netmask 255.255.255.0
or
route del -net 192.168.3.0/24
Источник