Как остановить работающую программу на C?
У меня есть проблема. Я написал программу на C
для армянского
я использую RTKLIB
программное обеспечение для преобразования данных GPS из ubx
в RTCM3
,
Я получаю некоторые данные из последовательного порта и запускаю str2str
(программное обеспечение rtklib).
Он создает эту команду для запуска
str2str -in tcpsvr://:2101#ubx -out serial://ttyS2:115200#rtcm3
и вызовите системную функцию для запуска этой команды. Это успешно, но когда я посылаю новую команду, я хочу, чтобы она остановила программное обеспечение str2str.
Я попробовал exit(0)
и это останавливает мое программное обеспечение. Я не хочу останавливать свое программное обеспечение. Я хочу остановиться str2str
и создайте новую команду и запустите ее снова.
Как мне это сделать? Я не очень хорош в среде Linux.
Спасибо
1 ответ
Я предлагаю вам выяснить, как искать процесс str2str, который вы хотите убить, и получить PID. Поиск в потоке стека выявит это, а затем использует PID для завершения процесса. Если только в RTKLIB нет процесса, который делает это напрямую.