如何等待java函数删除所有文件?
我有个问题。如何等待java函数删除所有文件?,java,delete-file,reboot,Java,Delete File,Reboot,我有个问题。 我有一个功能,删除一些文件,然后重新启动系统。它包含很多文件,因此在删除整个文件集之前,我的重新启动命令将被执行 如何在Java代码中解决这个问题 要删除文件,我正在使用: Runtime.exec("/bin/rm -rf /myDir"); Runtime.exec("/bin/shutdown -r now"); 您可以使用exec返回的过程,并等待它完成: Process p = Runtime.exec("/bin/rm -rf /myDir"); p.waitFor(
我有一个功能,删除一些文件,然后重新启动系统。它包含很多文件,因此在删除整个文件集之前,我的重新启动命令将被执行 如何在Java代码中解决这个问题 要删除文件,我正在使用:
Runtime.exec("/bin/rm -rf /myDir");
Runtime.exec("/bin/shutdown -r now");
您可以使用
exec
返回的过程
,并等待它完成:
Process p = Runtime.exec("/bin/rm -rf /myDir");
p.waitFor();
Runtime.exec("/bin/shutdown -r now");
您可以使用
exec
返回的过程
,并等待它完成:
Process p = Runtime.exec("/bin/rm -rf /myDir");
p.waitFor();
Runtime.exec("/bin/shutdown -r now");
Runtime.exec方法返回可以调用的进程
对第一个命令执行此操作,然后启动第二个命令。Runtime.exec方法返回一个可以调用的进程
对第一个命令执行此操作,然后启动第二个命令。您可以使用Process.waitFor()等待命令完成,也可以一次完成所有操作
Runtime.exec("/bin/sh -c '/bin/rm -rf /myDir ; /bin/shutdown -r now'");
您可以使用Process.waitFor()等待命令完成,也可以一次完成所有操作
Runtime.exec("/bin/sh -c '/bin/rm -rf /myDir ; /bin/shutdown -r now'");
如果您
等待机器重新启动,它可能没有按您认为的那样运行。;)想法是等待rm命令完成,以便能够正确启动关机。建议的解决方案会起作用,因为关机只是发送一个信号,在主机关闭之前它不会阻塞。如果您等待机器重新启动,它可能不会执行您认为的操作。;)想法是等待rm命令完成,以便能够正确启动关机。建议的解决方案会起作用,因为关机只是发送一个信号,在主机关机之前它不会阻塞。我不明白这是如何解决我的问题的?你能给我解释一下吗。当我尝试man sh时,我无法获得很多信息来等待它完成。sh
是基本shellbash
是Bourne SHell,它是它的扩展。它通过运行rm
来工作,完成后,运行shutdown
,也就是说,您的Java程序不需要等待。如果在另一个Java函数中有这个shutdown命令,该怎么办。在这种情况下,我是否必须像Runtime.exec那样(“/bin/sh-c'/bin/rm-rf/myDir'”);然后调用执行关闭的函数?如果它们是单独的Java命令,则需要创建一个组合命令或在第一个命令上使用waitFor()。我不明白这是如何解决我的问题的?你能给我解释一下吗。当我尝试man sh时,我无法获得很多信息来等待它完成。sh
是基本shellbash
是Bourne SHell,它是它的扩展。它通过运行rm
来工作,完成后,运行shutdown
,也就是说,您的Java程序不需要等待。如果在另一个Java函数中有这个shutdown命令,该怎么办。在这种情况下,我是否必须像Runtime.exec那样(“/bin/sh-c'/bin/rm-rf/myDir'”);然后调用执行关闭的函数?如果它们是单独的Java命令,则需要创建一个组合命令或在第一个命令上使用waitFor()。这里没有格式化硬盘的内容。这里没有格式化硬盘的内容。