通過popen函式來執行ping 命令,並且解析出傳送的包,接收的包個數
基礎知識:
1.利用popen的管道來執行shell指令ping 127.0.0.1 -c 4.表示我ping 基本4個包。
2.函式strstr可以得到需要字串在原來字串中的首地址
printf("%s transmitted %s rec\n", n_tranas, n_receive);3.函式sscanf()可以獲得字串中的變數。format中[^=]表示字串以=結束且不包含=。%*表示跳過響應的字串
上程式碼:
#include <stdio.h> #include <string.h>intmain() { FILE *fp; char line[
fp =popen("ping 127.0.0.1 -c 4", "r"); if (fp ==NULL) { printf("error!\n"); return-1; } while(!feof(fp)) { if (fgets(line, 256, fp) !=NULL) { // printf("p:%s\n", line); if ((p =strstr(line, "packets")) !=NULL) { sscanf(line, "%[^ ] %*s %*s %[^ ]", n_tranas,n_receive);
#if0 char *str = "Total Mem:1800 FreeMem:800 swapMem:500"; char *p = strstr(str, "FreeMem"); int freeMem; sscanf(p + strlen("FreeMem:"), "%d", &freeMem); printf("feeMem=%d\n",freeMem); #endif
return0;
}
結果:
4 transmitted 4 rec
相關推薦
通過popen函式來執行ping 命令,並且解析出傳送的包,接收的包個數
基礎知識: 1.利用popen的管道來執行shell指令ping 127.0.0.1 -c 4.表示我ping 基本4個包。 2.函式strstr可以得到需要字串在原來字串中的首地址 printf("%s transmitted %s rec\n", n_tranas
如何讓PHP通過ROOT許可權來執行LINUX命令
一般 PHP 在 LINUX 伺服器上執行 shell 命令時,只能擁有 www:www 賬戶許可權,想執行一些系統命令是沒有許可權的,如重啟 apache,因為控制 apache 需要 root 許可權,因此下面的辦法可以讓 PHP 執行 ROOT 許可權的命令。 1
不通過建構函式來建立類的例項 - Unsafe的使用
我們知道,當使用反射構造類的例項時,我們常會用到xxx.class.newInstance()這個方法。但是這個方法有一個限制,就是要求類必須有預設的建構函式。但我們在做框架的時候,很難保證要動態構造的類例項,都是有預設建構函式的,那怎麼辦呢? 其實用過C++或者Delphi的
一 個批處理同時開啟多個CMD視窗執行 PING 命令
最近遇到經常性的突發性斷電,但是又沒有UPS ,所以伺服器關了又自己自動開起來,真的好煩。 又不想時時的跑機房看機器有沒有開動起來,突然想到,如果我在WINDOWS裡開多個CMD視窗,PING伺服器,如果正常,就是開起來了,如果不正常,那就要跑機房按電源了。 因沒有好好的學習,批處理懂得不多,所
已退出,程式碼為 5。請驗證您是否有足夠的許可權來執行此命令
Warning 1 warning MSB3075: The command "regsvr32 /s "D:\Debug\CBho.dll"" exited with code 5. Please verify that you have sufficient righ
【 Vivado 】在工程模式下通過jou檔案來學習 Tcl 命令
Xilinx 的資料手冊UG895提供了一些系統級設計的方法,寫得很詳細,詳細到得不到重要的訊息(我菜)。 Tcl命令在工程模式下以及非工程模式下有一些差異,具體什麼差異,這裡暫時不說,後面我想應該會有一篇博文專門講解。(我懂了的話會有,我相信會有。) 這裡尋求一種方法來學習Vivado
CentOS執行ping命令報錯 name or service not know
在虛擬機器上安裝的CentOS,但是當執行ping命令的時候,提示name or service not known 解決方法如下: 1. 新增DNS伺服器 vi /etc/resolv.conf 在檔案中新增如下兩行(可以自己選擇DNS
python基礎之使用os.system來執行系統命令
PS:dir(sys)可獲取sys所有介面 第二種方法是在linux命令列下鍵入:python,然後就會進入python,並顯示相關資訊,結果如圖: 看到了吧,上面顯示了:python版本:2.7.2 作業系統版本:red hat 4.1.2 當然你也可以在這裡面鍵入上述命令,如圖: 原文連結: h
linux機器上執行ping命令的java方法
在編寫網管系統的過程中,經常需要判斷某臺機器是否可用,於是採用使用ping機器的方法判斷該機器當前是否可用,方法如下: /** * @Title: execPingCommand * @Description: 執行ping命令,檢視裝置是否可用 * @param @param deviceIp
如何以hdfs的使用者來執行hadoop命令
當hadoop叢集中加上許可權管理後,即使是linux的root使用者也不能擁有最高許可權了,因為hdfs的管理員是hdfs,那麼問題來了,怎麼在命令列呼叫hdfs的命令呢? 開啟檢查 HDFS 許可權 dfs.permissions 設定為true 建立目錄 su
為什麼執行ping命令時不需要root許可權? 怎樣讓程序具有root許可權?
最近遇到一個問題, 需要讓普通使用者執行程式時具有root許可權, 怎麼辦呢? 我們來看看ping, 它採用了raw socket, 需要root許可權, 但是, 我們平常執行root命令的時候, 沒有加sudo啊, 來探個究竟:ubuntu@VM-0-15
在eclipse執行maven命令時報在jre裡找不到jar包
在eclipse裡執行maven命令時報錯: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project
在軟raid10上使用LVM,並且進行磁盤配額,最後還原。
bsp auto san resize2fs setquota uid create gdi 效果 實驗環境 1)centos 7.3 2)lvm格式化的文件系統為ext4 3)磁盤為單一磁盤的不同分區 4)使用軟件:mdadm,lvm2 tools,quota 軟
在不改變元素的顯示屬性的情況下,元素都是可以設置寬度的,並且能夠設置成功,這句話是否正確?
NPU for 不可 inpu 都是 css 類型 line cit 在CSS中,html中的標簽元素大體被分為三種不同的類型: 塊狀元素、內聯元素(又叫行內元素)和內聯塊狀元素。 常用的塊狀元素有: <div>、<p>、<
hexo的next主題部落格中加入分類頁面的js,實現多級目錄,並且能夠點選展開,隱藏下級目錄~(不知道算不算深度優化~~~)
多級標題 在自己的xxxx.md檔案中做如下修改: categories: - 搗蛋鬼 - mac 新建catogery_js.js(名字無所謂) 加入自己的js 我這裡是下面這樣的 function category_js () { $("&
移動端將base64傳給後臺,後臺解析出的圖片一部分是白色的
1、base64在手機端如果儲存到input的value裡面 input會截斷太大的部分 導致後臺收到的base64無法正確解析或者一部分是白色的 可以放到全域性變數或者imgsrc屬性裡 2、部
JS將引數新增到URL,並且解析URL獲取引數值
拿一個多選框來做一個例子吧!! <span style = "position: relative;left: 3%;top:30px; font-size: 20px">障及問題申報:</span> <input id="gu
thinkphp 查表返回的陣列,js解析有UNICode編碼,解決辦法
public function getDeviceMsg(){ $allDevicesMsg = M("newdevicesstatus")->getField("status",true); $allDevicesMsg2 = array(); /
java工程打包成jar包,並且解壓lib裡的jar包
在我們開發完java工程部署時,有時不需要web容器,為了方便部署有時候需要打成jar包。 這裡介紹2種Eclipse打jar包的方式, 方式一、工程引用的jar包打在lib目錄下
用遞迴的方法把一個無符號整數的每一位數字單獨寫出來,並且計算出每一位加起來的和。
這個題的具體含義是什麼呢? 例如: 給出一個無符號整數:1234 一千兩百三十四; 然後變成:1 2 3 4; 再把它們加起來:10; 所以很簡單的一道題,但是我們要用遞迴的思想寫