Как прервать процесс, запущенный с C++ с помощью вызова popen
- как отправить его SIGINT? Вот popen
вызов:Как отправить SIGINT в функцию Popen()
FILE* pipe = popen("vlc", "r");
Я хотел бы закрыть vlc
, когда я хочу с сигналом прерывания.
Как прервать процесс, запущенный с C++ с помощью вызова popen
- как отправить его SIGINT? Вот popen
вызов:Как отправить SIGINT в функцию Popen()
FILE* pipe = popen("vlc", "r");
Я хотел бы закрыть vlc
, когда я хочу с сигналом прерывания.
Почему бы не реализовать свой собственный обработчик сигнала и не сделать pclose на открытой трубе? Это должно отправить sigpipe в VLC. popen - действительно плохой способ развить процесс. вы не получаете от него ПИД. Есть много реализаций, которые плавают вокруг, которые делают то же самое, используя fork, и возвращают также PID. Задать вопрос, если вы не можете найти его.
Аналогичная проблема уже была рассмотрена здесь: http://stackoverflow.com/questions/548063/kill-a-process-started-with-popen – Hayt
Посмотрите на http://stackoverflow.com/questions/548063/ убить-а-процесс стартером-с-POPEN. –