gpt4 book ai didi

shell - 如何在 clozure cl 中杀死一组进程?

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:07 24 4
gpt4 key购买 nike

我想在 ccl 中运行一个 shell 命令,但是这个命令可能因为某些原因被挂起。所以我想杀死这个命令生成的所有子进程。我该怎么做?

我试过 trivial-shell 来运行 shell 命令,当命令没有挂起时,它运行良好。

我还使用 trivial-shell 中的 with-timeout 宏来检查超时,它只是给我一个超时错误条件,shell 进程仍然卡在那里。在这里,我只想把他们都杀了,然后返回一些东西。

谢谢大家

最佳答案

据我所知,trivial-shell 仅提供同步 shell 调用,因此没有简单的方法来终止正在进行的子进程。

我建议使用 :wait nil 调用 Clozure Common Lisp 的特定于实现的 ccl:run-program 函数以异步运行作业。然后,如果需要,您可以在正在运行的进程上调用 ccl:signal-external-process 来终止它。 Documentation here .

关于shell - 如何在 clozure cl 中杀死一组进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8585537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com