Процесс - это работающая программа.
Получить перечень работающих процессов можно командой:
ps
PID — идентификатор процесса
TTY — оконечное устройство, в котором запущен процесс
STAT — статус процесса и где расположена отведенная для него память. S - ждущий процесс, R — работающий (описание на странице ps(1) в руководстве)
TIME — количество времени центрального процессора в минутах и секундах, которое использовал данный процесс к настоящему моменту.
COMMAND — процесс может изменить исходное значение этого поля.
Параметры команды ps
(как и параметры других команд их можно комбинировать)
ps x
все процессы, запущенные вами
ps ax
все процессы системы
ps u
включить детализированную информацию о процессах
ps w
показывать полные названия команд
Чтобы посмотреть конкретный процесс, добавьте его PID к списку аргументов.
$$
переменная оболочки, которая содержит PID текущего процесса: ps u $$
Отправить сигнал от ядра к процессу для его завершения: kill pid
(по умолчанию сигнал TERM).
Возможны другие параметры: kill -STOP pid
(остановить процесс) kill -CONT pid
(продолжить процесс)
сочетания клавиш Ctrl+С для прерывания процесса, работающего в терминале, равносильно вызову команды kill
для завершения процесса по сигналу INT («прервать»).
Оболочка поддерживает управление заданиями — один из способов отправки командам сигналов - TSTP (подобен сигналу STOP) и CONT.
Отправить сигнал TSTP: сочетание клавиш CTRL+Z.
Посмотреть подвешенные задания: jobs
.
возобновить процесс: fg
(перевести в фон: bg
)
Можно отделить процесс от оболочки и переместить его в фон. Это делается с помощью символа амперсанда &. Это полезно при длительных процессах, например, при распаковке большого архива:
gunzip file.gz &
После данной команды оболочка возвратит PID процесса и вернет строку приглашения.
Фоновый процесс может зависнуть, если он пытается считывать из стандартного ввода. Он так же может сыпать ошибки в терминал в неподходящий момент. Лучше перенаправить его вывод (и ввод).