搜尋

首頁  >  問答  >  主體

java - 程式怎麼執行shell中top或ping指令

有時會用程式執行shell指令。但如果我執行類似top或ping這樣的指令?這種命令不會直接終止,而且會一直執行。我要怎麼獲取他的執行狀態以及怎麼終止他呢?

某草草某草草2829 天前932

全部回覆(3)我來回復

  • 滿天的星座

    滿天的星座2017-05-17 10:05:20

    topping这类的命令都有终止的选项可以用,如ping-c指定发送包的次数,top-bn指定輸出模式及輸出次數。

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-17 10:05:20

    一般這種持續輸出的命令, 都已經有個控制打印次數的參數控制, 譬如top就是 -n num来指定打印num次, 而ping 则是通过-c num来指定打印num次; 可以通过对应的选项, 来设置命令的执行次数, 如果命令不支持这样的选项控制, 那应该只能通过获取该进程的pid, 然后通过kill操作去發送終止信號, 使其終止運行

    回覆
    0
  • 黄舟

    黄舟2017-05-17 10:05:20

    首先,top 和 ping 指令都是可以終止的:按 q 可以退出 top 指令,按 Ctrl-C 可以退出 ping

    你可以用 subprocess 來啟動 shell 程序,然後透過 PIPE 向 STDIN 寫字串,然後就可以了控制這些 shell 程式了吧。

    回覆
    0
  • 取消回覆