您的位置:首頁技術文章
文章詳情頁

java - 程序怎么執行shell中top或者ping命令

瀏覽:77日期:2023-12-08 17:52:03

問題描述

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

問題解答

回答1:

top和ping這類的命令都有終止的選項可以用,如ping的-c指定發送包的次數,top的-bn指定輸出模式及輸出次數。

回答2:

一般這種持續輸出的命令, 都已經有個控制打印次數的參數控制, 譬如top就是 -n num來指定打印num次, 而ping 則是通過-c num來指定打印num次; 可以通過對應的選項, 來設置命令的執行次數, 如果命令不支持這樣的選項控制, 那應該只能通過獲取該進程的pid, 然后通過kill操作去發送終止信號, 使其終止運行

回答3:

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

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

標簽: java
相關文章:
国产综合久久一区二区三区