Нейл Мэтью - Основы программирования в Linux

Тут можно читать онлайн Нейл Мэтью - Основы программирования в Linux - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet, издательство «БХВ-Петербург», год 2009. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Основы программирования в Linux
  • Автор:
  • Жанр:
  • Издательство:
    «БХВ-Петербург»
  • Год:
    2009
  • Город:
    Санкт-Петербург
  • ISBN:
    978-5-9775-0289-4
  • Рейтинг:
    4/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Нейл Мэтью - Основы программирования в Linux краткое содержание

Основы программирования в Linux - описание и краткое содержание, автор Нейл Мэтью, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым.

Для начинающих Linux-программистов

Основы программирования в Linux - читать онлайн бесплатно полную версию (весь текст целиком)

Основы программирования в Linux - читать книгу онлайн бесплатно, автор Нейл Мэтью
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

И наконец, поскольку Linux, как и UNIX, обладает системой виртуальной памяти, которая удаляет страницы кода и данных на жесткий диск, можно управлять гораздо большим количеством процессов, чем позволяет объем физической памяти.

Таблица процессов

Таблица процессов Linux подобна структуре данных, описывающей все процессы, загруженные в текущий момент, например, их PID, состояние и строку команды, разновидность информационного вывода команды ps. Операционная система управляет процессами с помощью их идентификаторов, PID, которые применяются как указатели в таблице процессов. У таблицы ограниченный размер, поэтому число процессов, поддерживаемых системой, ограничено. В первых системах UNIX оно равнялось 256 процессам. Более современные реализации значительно ослабили это ограничение и ограничены только объемом памяти, доступным для формирования элемента таблицы процессов.

Просмотр процессов

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

$ ps -ef

UID PID PPID С STIME TTY TIME CMD

root 433 425 0 18:12 tty1 00:00:00 [bash]

rick 445 426 0 18:12 tty2 00:00:00 -bash

rick 456 427 0 18:12 tty3 00:00:00 [bash]

root 467 433 0 18:12 tty1 00:00:00 sh /usr/X11R6/bin/startx

root 474 467 0 18:12 tty1 00:00:00 xinit /etc/X11/xinit/xinitrc --

root 478 474 0 18:12 tty1 00:00:00 /usr/bin/gnome-session

root 487 1 0 18:12 tty1 00:00:00 gnome-smproxy --sm-client-id def

root 493 1 0 18:12 tty1 00:00:01 [enlightenment]

root 506 1 0 18:12 tty1 00:00:03 panel --sm-client-id defaults

root 508 1 0 18:12 tty1 00:00:00 xscreensaver -no-splash -timeout

root 510 1 0 18:12 tty1 00:00:01 gmc --sm-client-id default10

root 512 1 0 18:12 tty1 00:00:01 gnome-help-browser --sm-client-i

root 649 445 0 18:24 tty2 00:00:00 su

root 653 649 0 18:24 tty2 00:00:00 bash

neil 655 428 0 18:24 tty4 00:00:00 -bash

root 713 1 2 18:27 tty1 00:00:00 gnome-terminal

root 715 713 0 18:28 tty1 00:00:00 gnome-pty-helper

root 717 716 13 18:28 pts/0 00:00:01 emacs

root 718 653 0 18:28 tty2 00:00:00 ps -ef

Вывод отображает информацию о многих процессах, включая процессы, запущенные редактором Emacs в графической среде X ОС Linux. Например, столбец TTYпоказывает, с какого терминала стартовал процесс, столбец TIMEпоказывает время ЦПУ, затраченное к данному моменту, а столбец CMD— команду, примененную для запуска процесса. Давайте познакомимся поближе с некоторыми из этих процессов.

neil 655 428 0 18:24 tty4 00:00:00 -bash

Начальная регистрация была произведена на консоли номер 4. Это просто консоль на данном компьютере. Выполняемая программа командной оболочки — это стандартная оболочка Linux, bash.

root 467 433 0 18:12 tty1 00:00:00 sh /usr/X11R6/bin/startx

X Window System была запущена командой startx. Это сценарий командной оболочки, который запускает сервер X и выполняет некоторые начальные программы системы X.

root 717 716 13 18:28 pts/0 00:00:01 emacs

Этот процесс представляет окно в системе X, выполняющее программу Emacs. Он был запущен оконным диспетчером в ответ на запрос нового окна. Командной оболочке был назначен новый псевдотерминал pts/0 для считывания и записи.

root 512 1 0 18:12 tty1 00:00:01 gnome-help-browser --sm-client-i

Это обозреватель системы помощи среды GNOME, запущенный оконным диспетчером.

По умолчанию программа psвыводит только процессы, поддерживающие подключение к терминалу, консоли, последовательной линии связи или псевдотерминалу. Другие процессы выполняются без взаимодействия с пользователем на терминале. Обычно это системные процессы, которые система Linux применяет для управления совместно используемыми ресурсами. Команду psможно применять для отображения всех таких процессов, использовав опцию и запросив "полную" информацию с помощью опции -f.

Примечание

Точная синтаксическая запись команды psи формат вывода могут немного отличаться в разных системах. Версия GNU команды ps, применяемая в Linux, поддерживает опции, взятые из нескольких предшествующих реализаций ps, включая варианты из UNIX-систем BSD и AT&T, и добавляет множество своих опций. См. интерактивное справочное руководство для получения подробных сведений о доступных опциях и форматах вывода команды ps.

Системные процессы

Далее приведено несколько процессов, выполнявшихся в другой системе Linux. Вывод был сокращен для облегчения понимания. В следующих примерах вы увидите, как определить состояние или статус процесса. Вывод командой psстолбца STATпредоставляет коды текущего состояния процесса. Самые широко распространенные коды перечислены в табл. 11.1. Смысл некоторых из них станет понятен чуть позже в этой главе. Другие же не рассматриваются в данной книге и их можно спокойно игнорировать.

Таблица 11.1

Код STAT Описание
S Спящий. Обычно ждет появления события, такого как сигнал или активизация ввода
R Выполняющийся. Строго говоря "работоспособный", т.е. в очереди на выполнение, либо выполняющийся, либо готовый к выполнению
D Непрерывно спящий (ожидающий). Обычно ждущий завершения ввода или вывода
T Остановленный. Обычно остановленный системой управления заданиями командной оболочки или находящийся под контролем отладчика
Z Умерший или процесс-зомби
N Задача с низким приоритетом, "nice"
W Разбитый на страницы (не используется в Linux с ядром версии 2.6 и последующих версий)
S Ведущий процесс сеанса
+ Процесс в группе фоновых процессов
l Многопотоковый процесс
< Задача с высоким приоритетом

$ ps ах

PID TTY STAT TIME COMMAND

1 ? Ss 0:03 init [5]

2 ? S 0:00 [migration/0]

3 ? SN 0:00 [ksoftirqd/0]

4 ? S< 0:05 [events/0]

5 ? S< 0:00 [khelper]

6 ? S< 0:00 [kthread]

840 ? S< 2:52 [kjournald]

888 ? S

3069 ? Ss 0:00 /sbin/acpid

3098 ? Ss 0:11 /usr/sbin/hald --daemon=yes

3099 ? S 0:00 hald-runner

8357 ? Ss 0:03 /sbin/syslog-ng

8677 ? Ss 0:00 /opt/kde3/bin/kdm

9119 ? S 0:11 konsole [kdeinit]

9120 pts/2 Ss 0:00 /bin/bash

9151 ? Ss 0:00 /usr/sbin/cupsd

9457 ? Ss 0:00 /usr/sbin/cron

9479 ? Ss 0:00 /usr/sbin/sshd -o PidFile=/var/run/sshd.init.pid

9618 tty1 Ss+ 0:00 /sbin/mingetty --noclear tty1

9619 tty2 Ss+ 0:00 /sbin/mingetty tty2

9621 tty3 Ss+ 0:00 /sbin/mingetty tty3

9622 tty4 Ss+ 0:00 /sbin/mingetty tty4

9623 tty5 Ss+ 0:00 /sbin/mingetty tty5

9638 tty6 Ss+ 0:00 /sbin/mingetty tty6

10359 tty1 Ss+ 10:05 /usr/bin/Xorg -br -nolisten tcp :0 vt7 -auth

10360 ? S 0:00 -:0

10381 ? Ss 0:00 /bin/sh /usr/bin/kde

10438 ? Ss 0:00 /usr/bin/ssh-agent /bin/bash /etc/X11/xinit/xinitrc

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Нейл Мэтью читать все книги автора по порядку

Нейл Мэтью - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Основы программирования в Linux отзывы


Отзывы читателей о книге Основы программирования в Linux, автор: Нейл Мэтью. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x