java - 程序怎么執(zhí)行shell中top或者ping命令
問(wèn)題描述
有時(shí)會(huì)用程序執(zhí)行shell命令。 但如果我執(zhí)行類似top或者ping這樣的命令?這種命令不會(huì)直接終止,會(huì)一直在執(zhí)行。我怎么獲取他的執(zhí)行狀態(tài)以及怎么終止他呢?
問(wèn)題解答
回答1:top和ping這類的命令都有終止的選項(xiàng)可以用,如ping的-c指定發(fā)送包的次數(shù),top的-bn指定輸出模式及輸出次數(shù)。
回答2:一般這種持續(xù)輸出的命令, 都已經(jīng)有個(gè)控制打印次數(shù)的參數(shù)控制, 譬如top就是 -n num來(lái)指定打印num次, 而ping 則是通過(guò)-c num來(lái)指定打印num次; 可以通過(guò)對(duì)應(yīng)的選項(xiàng), 來(lái)設(shè)置命令的執(zhí)行次數(shù), 如果命令不支持這樣的選項(xiàng)控制, 那應(yīng)該只能通過(guò)獲取該進(jìn)程的pid, 然后通過(guò)kill操作去發(fā)送終止信號(hào), 使其終止運(yùn)行
回答3:首先,top 和 ping 命令都是可以終止的:按 q 可以退出 top 命令,按 Ctrl-C 可以退出 ping
你可以用 subprocess 來(lái)啟動(dòng) shell 程序,然后通過(guò) PIPE 向 STDIN 寫字符串,然后就可以了控制這些 shell 程序了吧。
相關(guān)文章:
1. javascript - ionic1的插件如何遷移到ionic2的項(xiàng)目中2. java - 如何在Fragment中調(diào)用Activity的onNewIntent?3. javascript - h5上的手機(jī)號(hào)默認(rèn)沒有識(shí)別4. mysql里的大表用mycat做水平拆分,是不是要先手動(dòng)分好,再配置mycat5. css - 關(guān)于input標(biāo)簽disabled問(wèn)題6. python - 獲取到的數(shù)據(jù)生成新的mysql表7. 怎么用css截取字符?8. window下mysql中文亂碼怎么解決??9. javascript - jquery hide()方法無(wú)效10. python的文件讀寫問(wèn)題?
