自动从终端终止 java 进程

Kill java process from terminal automatically

是否可以在特定时间后(当 运行 未编译时)从终端自动终止 java 程序的执行。 例如,我喜欢在 10 秒后停止以下操作:

java examples.Example

如果不需要看进程输出:

#!/bin/bash
{
    java examples.Example >/some/place.log &
    echo $!
    wait $!
} | {
    sleep 10
    kill $(read PID; echo $PID)
}

此脚本将在子 shell 中启动您的进程,将其 PID 传输到等待的子 shell,子 shell 将等待 10 秒并终止它。

如果您知道您的过程总是需要超过 10 秒的时间,您可以简单地这样做:

java examples.Example >/some/place.log &
sleep 10
kill $!