Консультация № 171571
24.08.2009, 13:32
0.00 руб.
0 3 1
Здравствуйте, уважаемые эксперты.

Прошу помочь разобраться с некоторыми консольными командами Linux.
А именно, как использовать такие, как:
bg
fg
kill -SIGCONT

У меня Ubuntu 9.04.
ProcessID беру из системного монитора а также с помощью команды
ps -A |grep processname

И потом при попытках приостановить процесс из терминала, выскакивает ошибка: no such job
Например,

_@_:~$ ps -A |grep firefox

5227 ? 00:01:00 firefox

_@_:~$ bg 5227

bash: bg: 5227: no such job


Прошу объяснить, что я делаю неправильно и как пользоваться данными командами.
Спасибо.

Обсуждение

давно
Академик
20764
1861
24.08.2009, 13:51
общий
Уточните, чего вы хотите добиться.
Чтобы приостановить процесс, ему надо послать сигнал STOP. Только в результате этого он всего лишь перестанет выполняться на cpu, но никаких других ресурсов не освободит (память, файлы, соединения,..). В случае firefox достаточно просто свернуть его окна. (если конечно на странице не запущены какие-либо прожорливые плугины или скрипты)
ctrl/z, fg & bg несколько не для этого (хотя и используют тот же механизм), модель их работы не самая понятная, и в настоящее время мало нужны.
Неизвестный
24.08.2009, 14:01
общий
это ответ
Здравствуйте, Иванов Андрей Владимирович.

Команда:
kill -CONT 5227
возобновляет процесс с id 5227, остановленный ранее командой:
kill -STOP 5227
т.е, если Вам нужно приостановить этот процесс, то нужно ввести именно эту команду.

Команда:
kill -l
выведет список всех доступных сигналов команды kill.

Более подробно о сигналах:
Wikipedia


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 ~ $fg
nice -n 20 tar -cyf test.tar.bz2 /home/guest/texts/*
5
Неизвестный
25.08.2009, 01:11
общий
Спасибо за ваши ответы. Буду продолжать изучать Linux.
Форма ответа