Это должно работать в Bash 4 или более поздней версии:
#!/bin/bash cd /Users/hawkarhama/Desktop/RUN ( cmdpid=$BASHPID; (sleep 300; kill $cmdpid ) & exec java -jar IPM.jar 0 20 3 sign.txt ) ( cmdpid=$BASHPID; (sleep 300; kill $cmdpid ) & exec java -jar IPM.jar 1 20 3 sign.txt ) ( cmdpid=$BASHPID; (sleep 300; kill $cmdpid ) & exec java -jar IPM.jar 2 20 3 sign.txt )
Для предыдущих версий:
#!/bin/bash cd /Users/hawkarhama/Desktop/RUN bash -c '(sleep 300; kill $$) & exec java -jar IPM.jar 0 20 3 sign.txt' bash -c '(sleep 300; kill $$) & exec java -jar IPM.jar 1 20 3 sign.txt' bash -c '(sleep 300; kill $$) & exec java -jar IPM.jar 2 20 3 sign.txt'
После поиска немного чистой версии Java, я нашел это :
ScheduledExecutorService executor = Executors.newScheduledThreadPool(2); final Future handler = executor.submit(new Callable(){ DoStuffHere(); }); executor.schedule(new Runnable(){ public void run(){ handler.cancel(); } }, 5*60*1000, TimeUnit.MILLISECONDS);