Для запуска программы в фоновом режиме после команды с параметрами необходимо указать знак

Всем добрый день! Есть программа, консольная, которая будет работать в фоновом режиме и запускаться вместе с ОС (Linux). Интересует материал как это организовать. Работать именно с api Linux раньше не пробовал.

Отслеживать
9,639 4 4 золотых знака 21 21 серебряный знак 35 35 бронзовых знаков
задан 6 сен 2016 в 8:39
Peter Lavreniuk Peter Lavreniuk
2,921 6 6 золотых знаков 25 25 серебряных знаков 55 55 бронзовых знаков
/opt/bin/myprog демонизации». Вот хорошая статья на хабре. Основная задача демонизации — отцепиться от консоли.

Конечно, можно запустить и с https://ru.stackoverflow.com/questions/563323/autorun-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81-%D0%B2-%D1%84%D0%BE%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0%B5″ target=»_blank»]ru.stackoverflow.com[/mask_link]

Для запуска программы в фоновом режиме после команды с параметрами необходимо указать знак

Некоторые команды shell занимают много времени при выполнении. Эти команды можно запустить в фоновом режиме с использованием

Примечание. Интерактивные команды shell (например, read ) нельзя запускать в фоновом режиме.

Когда вы запускаете команду в фоновом режиме, то система Linux выводит номер процесса. Вы можете использовать этот номер для завершения выполняющейся в фоновом режиме команды. Появившаяся подсказка означает, что терминал свободен и ожидает вашу команду.

Запустить команду в фоновом режиме вы можете только в том случае, если ваш терминал предоставляет вам такую возможность.

Alex Otwagin 2002-12-16

Источник: www.opennet.ru

Для запуска программы в фоновом режиме после команды с параметрами необходимо указать знак

Данная команда jobs будет использоваться несколько раз на протяжении данной главы.

3.1.2. Сочетание клавиш Control-Z

Читайте также:
Как записать программу с диска на флешку

Исполнение некоторых процессов может быть остановлено с помощью комбинации клавиш Ctrl-Z . Данная комбинация клавиш позволяет отправить сигнал SIGSTOP ядру Linux , что приведет к остановке исполнения процесса.

В том случае, если данная комбинация клавиш используется при работе с текстовым редактором vi(m) , процесс текстового редактора vi(m) продолжает исполняться в фоновом режиме. Процесс vi(m) , исполняющийся в фоновом режиме, может быть обнаружен в выводе команды jobs .

3.1.3. Амперсанд ( , размещенному в конце строки команды, также отображаются в выводе команды jobs .

3.1.4. Команда jobs -p

Команда jobs поддерживает интересный параметр -p , предназначенный для вывода идентификаторов процессов, исполняющихся в фоновом режиме.

3.1.5. Команда fg

Вызов команды fg позволяет перевести процесс из фонового режима в текущую командную оболочку. Номер фоновой задачи для переноса в текущую командную оболочку является параметром команды fg .

3.1.6. Команда bg

Задачи из фонового режима, исполнение которых было приостановлено , могут быть снова запущены в фоновом режиме с помощью команды bg . Команда bg осуществляет отправку сигнала SIGCONT соответствующему процессу.

Ниже приведен пример запуска процесса sleep в фоновом режиме (исполнение которого было остановлено с помощью сочетания клавиш Ctrl-Z ) с последующей повторной активацией этого процесса в фоновом режиме с помощью команды bg .

3.2. Практическое задание: фоновые процессы

1. Используйте команду jobs , чтобы удостовериться в том, что никакие процессы не выполняются в фоновом режиме.

2. Используйте текстовый редактор vi для создания небольшого текстового файла. Переведите процесс vi в фоновый режим и остановите его исполнение.

3. Используйте команду jobs , чтобы убедиться в том, что исполнение процесса vi в фоновом режиме остановлено.

4. Выполните команду find / > allfiles.txt 2>/dev/null в фоновом режиме. Остановите исполнение этой команды в фоновом режиме перед тем, как будет закончен обход файловой системы.

Читайте также:
Определение политической программы действий путем интегрирования новых идей отражающих интересы

5. Запустите два процесса sleep с длительным периодом ожидания в фоновом режиме.

6. Выведите информацию обо всех задачах , исполняющихся в фоновом режиме.

7. Используйте утилиту kill для остановки исполнения одного из процессов с именем sleep .

8. Инициируйте продолжение исполнения процесса find в фоновом режиме (убедитесь в том, что исполнение продолжилось).

9. Переведите один из процессов с именем sleep назад в текущую командную оболочку.

10. (Общий вопрос, ответ может быть дан при наличии свободного времени. ) Дайте детальные пояснения по поводу источников чисел из следующего примера. В каких условиях переменные заменяются на их значения? Какая командная оболочка осуществляет эту замену?

3.3. Корректная процедура выполнения практического задания: фоновые процессы

1. Используйте команду jobs , чтобы удостовериться в том, что никакие процессы не выполняются в фоновом режиме.

jobs (возможно одни из процессов cat все еще исполняется?)

2. Используйте текстовый редактор vi для создания небольшого текстового файла. Переведите процесс vi в фоновый режим и остановите его исполнение.

vi text.txt

(в процессе работы с vi нажмите ctrl-z)

3. Используйте команду jobs , чтобы убедиться в том, что исполнение процесса vi в фоновом режиме остановлено.

4. Выполните команду find / > allfiles.txt 2>/dev/null в фоновом режиме. Остановите исполнение этой команды в фоновом режиме перед тем, как будет закончен обход файловой системы.

[2]+ Stopped find / > allfiles.txt 2> /dev/null

5. Запустите два процесса sleep с длительным периодом ожидания в фоновом режиме.

sleep 4000 sleep 5000 «>

Предыдущий раздел: Оглавление Следующий раздел: Глава 2. Приоритеты процессов Глава 4. Дисковые устройства

Linux — запуск процессов в фоновом режиме | UnixHost

Запуск команд Linux в фоновом режиме. Командная строка Linux

Читайте также:
Программа которая восстанавливает удаленные фотографии с компьютера

Источник: rus-linux.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru