【发布时间】:2015-10-09 08:38:19
【问题描述】:
我使用Runtime.getRuntime().exec 来执行基于操作系统管道的命令tail -f filename | grep str。我设法实现了我的业务逻辑。但仍然有一个问题我必须解决:
使用管道时,进程会为另一个进程进行tail命令:
$ ps -ef | grep test.log
admin 6953 32721 0 16:32 ? 00:00:00 /bin/sh -c tail -f /home/admin
/test.log | unbuffer -p grep '1444379575648'
admin 6957 6953 0 16:32 ? 00:00:00 tail -f /home/admin/test.log
Process.destroy() 方法只破坏自身(pid:6953)。如何在我的 Java 程序中破坏它的 subprocess(pid:6957)?
【问题讨论】: