【问题标题】:How to stop a running program in C?如何在 C 中停止正在运行的程序?
【发布时间】:2018-05-29 08:40:50
【问题描述】:

我有一个问题。我在C 中为 armbian 编写了一个程序。

我正在使用RTKLIB 软件将GPS 数据从ubx 转换为RTCM3

我从串口获取一些数据并启动str2str(rtklib 软件)。

它创建这个命令来运行

str2str -in tcpsvr://:2101#ubx -out serial://ttyS2:115200#rtcm3 

并调用系统函数来运行这个命令。成功了,但是当我发送一个新命令时,我希望它停止 str2str 软件。

我尝试了exit(0),它停止了我的软件。我不想停止我的软件。我想停止 str2str 并创建一个新命令并再次运行它。

我该怎么做?我不擅长linux环境。

谢谢

【问题讨论】:

  • 请将您的问题编辑为可读的内容
  • 可怕的问题,很难回答。
  • 你用什么函数来运行 str2srt ? ,如果你能得到它的 PID,你就可以杀死它。
  • 我创建了一个字符串数组 char command_run[256];并使用 system(command_run); 运行命令;

标签: c linux orange-pi


【解决方案1】:

我建议您了解如何搜索要杀死的 str2str 进程,并获取 PID。 stackoverflow 搜索将显示这一点,然后使用 PID 终止进程。除非 RTKLIB 有直接执行此操作的流程。

【讨论】:

  • 我可以使用“-pkill str2str”而不是 PID。在 C 中,我需要找到 PID 号然后关闭它。但如果可行的话,这可能会更简单、更快捷。
  • 这听起来很合理。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-24
  • 2015-05-28
  • 1970-01-01
  • 2016-02-25
  • 1970-01-01
相关资源
最近更新 更多