русс | укр

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

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

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

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


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

Сценарий: Управление процессами с помощью сигналов


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


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

Начальные условия: Командная строка после входа в систему.

1. Запустите команду yes, производящую бесконечный вывод символа y на экран. Прервите её нажатием Ctrl-C.

2. user@desktop ~ $ yes3. y4. y5. y6. y7. ...8. y9. user@desktop ~ $

При этом запущенному процессу был отправлен сигнал SIGTERM — завершения программы.

10. Запустим сбор информации обо всех файлах системы с помощью команды find / > files.txt.

user@desktop ~ $ find / > files.txt

11. Найдем идентификатор запущенного только что процесса с помощью команды ps aux | grep find, запущенной в другом терминале.

12. user@desktop ~ $ ps aux | grep find13. user 8178 9.7 0.1 2844 1020 pts/1 R+ 23:45 0:00 find /user 8230 0.0 0.1 2708 736 pts/2 R+ 23:45 0:00 grep find

Первая строка содержит необходимый PID.

14. Отправим сигнал завершения этому процессу с помощью команды kill 8178, указав в качестве параметара идентификатор процесса.

user@desktop ~ $ kill 8178

Можно убедиться, что на терминале с запущенной командой появились строка «Terminated» и приглашение.

15. Если попытаться завершить системный процесс, например командой kill 1, появится сообщение об ошибке доступа:

16. user@desktop ~ $ kill 1bash: kill: (1) - Operation not permitted

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

17. Альтернативным способом отправления сигналов процессам — по имени процесса, а не по PID — является команда killall. Выполнив команду killall bash, мы завершим все командные оболочки, а тем самым и сеансы пользователей.

user@desktop ~ $ killall bash

18. До этого мы отправляли только сигнал завершения процесса. Он может перехватываться и игнорироваться программами. Неперехватываемым является сигнал SIGKILL, который может быть отправлен, например, следующей командой: killall -SIGKILL find



user@desktop ~ $ killall -SIGKILL find


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


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


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

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

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


 


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

 
 

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

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