在子 shell 中杀死 运行 的 tftp 命令

Kill tftp command that's running in subshell

我运行在Linux中执行以下命令:

sudo ./tftpCommand &

我的可执行 tftpCommand 文件只是 gets/puts 一个有时不存在的数据文件。 我希望能够在自动超时之前停止在 subshell 中生成的 tftp 命令。

使用 kill $(jobs -p) 之类的东西显示 subshell 已终止但 tftp 仍在运行——我知道这一点是因为几秒钟后它打印到 shell 它找不到要传输的文件。

问题:如何确保 tftp 命令与运行它的 subshell 一起被终止?

谢谢!

我找到了解决问题的方法:

使用 pkill -c tftp 终止任何当前的 tftp 命令。

我使用 ps x -o "%p %r %c"

解决了这个问题

您可以对 COMMAND 列中的任何命令名称(对应于 %c 和 -c )使用类似的技术来终止其他进程。

希望对遇到同样问题的其他人有所帮助!