русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Команды по работе с процессами


Дата добавления: 2014-11-27; просмотров: 625; Нарушение авторских прав


kill

Команда используется для отправки сигнала процессу.

Команда kill имеет один из следующих форматов:

kill [-s название_сигнала] идентификатор_процессаkill -название_сигнала идентификатор_процессаkill -код_сигнала идентификатор_процесса

Для того, чтобы отправить сигнал, необходимо знать идентификатор процесса-получателя. Узнать идентификатор можно с помощью команды ps. Если при вызове команды kill сигнал не указан, то посылается сигнал TERM. Обычный пользователь может посылать сигналы только своим процессам. Посылать сигналы процессам других пользователей может только суперпользователь. Рассмотрим пример уничтожения процесса:

user@desktop ~ $ psPID TT STAT TIME COMMAND3800 p3 S 0:00,03 su (bash)3822 p3 T 0:00,08 mplayer /home/guest/music/U96/Das\ Boot.mp33824 p3 R+ 0:00,00 psuser@desktop ~ $ kill 3822

После вызова команды kill 3822 процесс mplayer будет уничтожен.

Для вывода списка всех сигналов используется команда kill -l:

user@desktop ~ $ kill -l1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH29) SIGINFO 30) SIGUSR1 31) SIGUSR2

exec

Является встроенной командой оболочки. Используется для замены процесса shell другим процессом.

Команда exec имеет следующий синтаксис:

exec -lc -a имя исполняемый файл [перенаправление ...]

fork (&)

Символ «&» используется для запуска программ в фоновом режиме. Пример:

user@desktop ~ $ mplayer /home/guest/music/U96/Das\ Boot.mp3&[1] 1558

bg, fg и jobs

Являются встроенными командами оболочки. Команды используются для работы с заданиями — процессами, запущенными из командного интерпретатора.



Команда jobs имеет следующий синтаксис:

jobs [-lnprs] [jobspec ...]jobs -x команда [аргументы]

Для вывода всех заданий используется команда jobs:

user@desktop ~ $ jobs[1]+ Running nice -n 20 tar -cyf test.tar.bz2 /home/guest/data/* &[2]+ Stopped nice -n 20 tar -cyf test.tar.bz2 /home/guest/texts/*[3]- Exit 127 nice 20 tar -cyf /abcdefg/texts ./test.tar.bz2[4]+ Done tar -cyf test.tar.bz2 text.txt

Напротив идентификатора задания указано состояние процесса.

Для вывода, кроме основной информации, идентификаторов запущенных процессов используется флаг -l. Для вывода только идентификаторов запущенных процессов используется флаг -p. Для вывода информации о процессах, у которых изменилось состояние с момента последнего вызова команды jobs используется флаг -n.

Команда bg используется для перевода задачи в фоновый режим.

Команда имеет следующий синтаксис:

bg [идентификатор_задачи]

Запуск команды без параметров приводит к запуску в фоновом режиме текущей задачи. Если указан параметр идентификатор_задачи, то в фоновом режиме будет запущена указанная задача. Пример:

user@desktop ~ $ bg[1]+ nice -n 20 tar -cyf test.tar.bz2 /home/guest/texts/* &

Команда fg используется для перевода задачи на передний план.

Команда имеет следующий синтаксис:

fg [идентификатор_задачи]

Запуск команды без параметров переводит к переводу текущей задачи на передний план. Если указан параметр идентификатор_задачи, то задача с указанным идентификатором станет текущей и будет переведена на передний план. Пример:

user@desktop ~ $fgnice -n 20 tar -cyf test.tar.bz2 /home/guest/texts/*

nohup

Команда позволяет запустить процесс, отключив его от управляющего терминала.

Команда nohup имеет следующий синтаксис:

nohup [--] запускаемая_программа [аргументы]

nohup запускает указанную программу с игнорированием сигналов HUP и увеличением приоритета для планировщика задач на 5. Таким образом, команда может продолжать выполняться в фоновом режиме и после того, как пользователь выйдет из системы. Если стандартным выводом stdout команды является терминал, то он и стандартный поток ошибок stderr перенаправляются в файл nohup.out в текущем каталоге. Если это невозможно, то перенаправление происходит в файл $HOME/nohup.out. Если и это невозможно сделать, то команда не запускается. Команда nohup не переводит автоматически запускаемый процесс в фоновый режим. Чтобы это сделать, необходимо завершить команду символом &.

Пример использования:

user@desktop ~ $ nohup mplayer /home/guest/music/U96/Das\ Boot.mp3appending output to /home/guest/nohup.out

nice

Команда используется для запуска процесса с измененным приоритетом для планировщика задач.

Команда nice имеет следующий формат:

nice [-n смещение_приоритета] запускаемая_программа [аргументы]

Команда nice позволяет изменять приоритет от -20 (наивысший) до 20 (самый низкий) от текущего. По умолчанию, процессы имеют приоритет командного интерпретатора, из которого они запускаются. Повышать приоритет может только суперпользователь (т.е. задавать отрицательное значение параметра -n смещение_приоритета). Пример использования команды:

user@desktop ~ $ nice -n 15 mplayer /home/guest/music/U96/Das\ Boot.mp3 &[1] 895uest@premudrij-peskar$ ps -lUID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND1002 890 889 0 8 0 3112 1660 wait S p2 0:00,02 su (bash)1002 895 890 0 111 15 23000 13200 - TN p2 0:00,08 mplayer /home/guest/music/U96/Das\ Boot.mp31002 896 890 0 96 0 1392 768 - R+ p2 0:00,00 ps -l

Значение NI процесса mplayer равно 15, для всех остальных процессов равно 0 по умолчанию.

renice

Команда используется для изменения приоритета запущенных процессов.

Команда renice имеет следующий формат:

renice новое_значение_приоритета список_идентификаторовrenice -n смещение_приоритета список_идентификаторов

Для изменения значения приоритета отдельных процессов достаточно перечислить их идентификаторы:

user@desktop ~ $ ps -lUID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND1002 890 889 0 96 0 3112 1600 - R p2 0:00,06 su (bash)1002 895 890 0 111 17 23000 11224 - TN p2 0:00,08 mplayer Boot.mp31002 900 890 0 101 5 23000 11224 - TN p2 0:00,08 mplayer Boot.mp31002 1084 890 1 96 0 1392 760 - R+ p2 0:00,00 ps -luser@desktop ~ $ renice +18 895 900895: old priority 17, new priority 18900: old priority 5, new priority 18user@desktop ~ $ ps -lUID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND1002 890 889 0 8 0 3112 1600 wait S p2 0:00,06 su (bash)1002 895 890 0 111 18 23000 11224 - TN p2 0:00,08 mplayer Boot.mp31002 900 890 0 101 18 23000 11224 - TN p2 0:00,08 mplayer Boot.mp31002 1086 890 0 96 0 1392 760 - R+ p2 0:00,00 ps -l

Для изменения приоритета всех процесов какого-либо пользователя необходимо указать флаг -u. В этом случае значения идентификаторов после флага -u будут интерпретироваться как идентификаторы пользователей. Можно задавать как числовые, так и символьные идентификаторы пользователей.

user@desktop ~ $ renice -n 1 -u guest1002: old priority 0, new priority 1user@desktop ~ $ ps -lUID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND1002 890 889 0 8 1 3112 1600 wait SN p2 0:00,07 su (bash)1002 895 890 0 111 18 23000 11224 - TN p2 0:00,08 mplayer Boot.mp31002 900 890 0 101 18 23000 11224 - TN p2 0:00,08 mplayer Boot.mp31002 1110 890 0 97 1 1392 760 - RN+ p2 0:00,00 ps -l

Из данного примера видно, что значения NI для процессов mplayer не изменились. Вызов команды renice с флагом -n изменяет только минимальные приоритеты (в данном случае, нули).

Резюме

В данном разделе рассматриваются команды управления процессами и сбора сведений о системе.

Ключевые термины: date, cal, ps, pstree, top, free, df, who, mount, uname, kill, exec, fork (&), bg, fg и jobs, nohup, nice, renice

 



<== предыдущая лекция | следующая лекция ==>
Команды получения сведений о системе | Сценарий: Сбор сведений о системе


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.341 сек.