diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/TopCLI.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/TopCLI.java index 79b1406ed1..882d2bfce2 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/TopCLI.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/cli/TopCLI.java @@ -444,6 +444,7 @@ public TopCLI() throws IOException, InterruptedException { public static void main(String[] args) throws Exception { TopCLI topImp = new TopCLI(); + topImp.addShutdownHook(); topImp.setSysOutPrintStream(System.out); topImp.setSysErrPrintStream(System.err); int res = ToolRunner.run(topImp, args); @@ -492,7 +493,6 @@ public int run(String[] args) throws Exception { rmStartTime = getRMStartTime(); } } - clearScreen(); return 0; } @@ -1220,4 +1220,11 @@ private String getCommandOutput(String[] command) throws IOException, byte[] output = IOUtils.toByteArray(p.getInputStream()); return new String(output, "ASCII"); } + + private void addShutdownHook() { + //clear screen when the program exits + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + clearScreen(); + })); + } }