Запуск и остановка демона, содержащего потоки ядра

Я хочу запустить программу на С ++, использующую потоки POSIX на openSUSE 12 в качестве демона, и иметь возможность запускать, останавливать и перезапускать ее как службу с помощью обычного сценария init.d на основе этого шаблона: http://www.novell.com/coolsolutions/feature/15380.html.

Однако оказывается, что startproc и killproc не подходят для работы с потоками ядра (что, очевидно, и есть потоки POSIX). Мне удается запустить программу с помощью startproc, но она не распознается и не уничтожается killproc. Rc_status возвращает красный «ошибка» при запуске startproc, даже если программа на самом деле запущена, и он возвращает зеленый «выполнено» при запуске killproc, даже если он не убивает процесс.

Есть ли альтернатива использованию startproc / killproc в openSUSE 12? Если запустить сервис с простого nohup, как он обычно останавливается? Просто убивая это? Что в таком случае является хорошим способом получения pid, необходимого для «kill»?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]