重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
popen 是通过管道执行进程的函数接口
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了龙华免费建站欢迎大家使用!
您要想获取网站 ip 并不能简单的直接用标准系统函数实现,要通过域名反向获取 ip,您需要一些额外的工具,如 nslookup (shell命令,非函数):
$nslookup
Server: 192.168.0.1
Address: 192.168.0.1#53
Name:
Address: 180.97.33.XXX
你要知道system的返回值,并非H1.EXE的返回值。
在DOS下,
system()只是做一个调用其他程序的工作,只要调用成功就返回0,不成功就返回-1。
它不能得到被调用的程序的执行结果。
要得到其他程序的执行的结果,要用spawn***()这个家族的函数。
如果在linux下面
如果你想得到那个返回值可以调用WEXITSTATUS(status),其中status是system函数的返回值。
如果你非常想获取他的返回值,就使用popen函数。它返回一个FILE*,就好像读写文件一样操作它就是了,不需要另外写文件读文件。
如果你是用的基于gcc的编译器 这个代码不会出问题 比如dev-C++ 或者C-free一类的
如果用VC或者VS 那这个就会出错了
因为VC不支持popen而是_popen 需要改成
FILE *fp = _popen("tasklist", "r");
可以借助系统命令来检测。
windows 用 tasklist 命令,linux 用 ps 命令。
c 使用 popen 函数来解析返回的字符串,一旦发现 xx 进程运行则用 system 函数启动另一个程序。
如果需要持续检测,用 while 加 sleep 轮询。