首选语言是Python,但我也在查看C和bash脚本文档.
似乎是一个简单的问题,但我无法决定最佳解决方案.
从目前为止的研究:
> Python:虚拟机使用的是一些奇怪的线程模型
一次一个线程,不会工作?
> C:到目前为止,首选的解决方案似乎是使用SIgalARM fork
EXECL.但SIgalARM不是堆安全的,所以它可以废弃一切?
> Bash:超时计划?所有发行版都不标准?
由于我是linux的新手,我可能没有意识到有这些功能的500种不同的问题,所以有谁能告诉我最安全和最干净的方法是什么?
解决方法 在bash中你可以做类似的事情:>在后台启动脚本/程序&
>获取后台进程的进程ID
>睡一段时间
>然后杀死进程(如果它已经完成你不能杀死它)或者你可以检查进程是否仍然存在然后杀死它.
例:
sh long_time_script.sh &pID=$!sleep 30skill $pID
你甚至可以尝试使用陷阱’script_stopped $pID’SIGCHLD – 请参阅bash man获取更多信息.
更新:我发现了其他命令timeout.它完全符合您的需要 – 运行带有时间限制的命令.例:
timeout 10s sleep 15s
将在10秒后杀死睡眠.
总结以上是内存溢出为你收集整理的Linux,在子进程上超时全部内容,希望文章能够帮你解决Linux,在子进程上超时所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)