java - 程序怎么執(zhí)行shell中top或者ping命令
問(wèn)題描述
有時(shí)會(huì)用程序執(zhí)行shell命令。 但如果我執(zhí)行類(lèi)似top或者ping這樣的命令?這種命令不會(huì)直接終止,會(huì)一直在執(zhí)行。我怎么獲取他的執(zhí)行狀態(tài)以及怎么終止他呢?
問(wèn)題解答
回答1:top和ping這類(lèi)的命令都有終止的選項(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 寫(xiě)字符串,然后就可以了控制這些 shell 程序了吧。
相關(guān)文章:
1. 請(qǐng)問(wèn)各位java自帶類(lèi)的一些問(wèn)題2. javascript - RN項(xiàng)目iOS端真機(jī)測(cè)試賬號(hào)無(wú)法登錄!3. redis sentinel怎么跑守護(hù)進(jìn)程以及日志記錄位置的?4. css - transition 的使用?5. python 字符串匹配問(wèn)題6. javascript - mongodb怎么設(shè)置用戶的賬戶不重復(fù)?7. 使用git管理webpack的代碼時(shí)多人怎么協(xié)作?一般托管哪些文件?8. Python異常退出時(shí)保存進(jìn)度?9. 請(qǐng)問(wèn)PHPstudy中的數(shù)據(jù)庫(kù)如何創(chuàng)建索引10. html - angular項(xiàng)目中如何讓外鏈網(wǎng)頁(yè)在本項(xiàng)目中展示?

網(wǎng)公網(wǎng)安備