我怎样才能杀死节日演讲命令?

How can I kill a Festival speech command?

假设我 运行 以下命令:

cat /var/log/dmesg | festival --tts

这可能 return 消息 [1] 4726,指示与此操作关联的进程 ID。当我 运行 kill 4726killall festivalkillall catkillall aplay 时,语音不会停止(或者,至少,它在之前继续了一段时间停止)。如果我 运行 上面的命令,我怎样才能杀死它开始做什么?

Kill 向程序发送 SIGTERM。 SIGTERM 告诉程序停止,允许它正常关闭。该程序正在取消分配内存、关闭连接、刷新到磁盘、删除临时文件等。因此 SIGTERM 可能不会立即或快速。

kill -9,发送SIGSTOP或SIGKILL,只被内核看到。内核将终止进程。虽然这更快,但它不允许正常退出。

我对 festival 不熟悉,所以如果你担心这些命令会分叉进程并且你想停止所有的子进程,你可以通过 bash shell。当您杀死父进程 bash shell 时,它会杀死它拥有的所有进程。

bash -c "cat /var/log/dmesg | festival --tts" &

您将获得 bash bash shell 的 pid,您可以杀死并清理所有子进程。