gpt4 book ai didi

java - exec() 和我的愚蠢

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

我只是想分享我的愚蠢以及我如何用几行代码耗尽所有磁盘空间,大约 90 GB。

我想做的就是列出包含一组字符串的目录(包括子目录)中的所有文件并将信息保存在文件中。我认为 find 会有帮助,我也测试了......

find . -exec grep -i "TEXT_TO_FIND" '{}' \; -print >TEXT_TO_FIND.txt

但是,我需要选取字符串来动态搜索并动态构建命令字符串,在弄清楚构建命令字符串的正确方法之后,我运行了我的程序。我以为 exec() 会等待来自操作系统的任务已完成的信号。我认为不是。即使这样做了,我的程序也永远不会完成,因为它还会搜索我通过重定向创建的文件,输出,因此 grep 无限期地运行,直到所有磁盘空间都被利用。

我只是想确认Runtime.getRuntime().exec(cmd);不等待来自操作系统的任何信号。

最佳答案

Runtime.getRuntime().exec(cmd) 不等待来自操作系统的任何信号。如果您想暂停程序直到从属程序完成,请尝试以下操作:

Process p = Runtime.getRuntime().exec(cmd);
p.waitfor();

关于java - exec() 和我的愚蠢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11311985/

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