在spawn这个类中,还有一个方法也就是“sendline”方法,用于像spawn类和运行的程序,发送子命令这个方法。
比如说我们在这个终端中可以运行这么一个带有交互性命令的nslookup,用它可以用来查询百度的IP地址,最后访问exit就可以退出了,那么“www.baidu.com”就相当于nslookup的子命令,查询百度的IP地址,那么exit也是一个子命令,用于退出这个nslookup,那么我们用spawn这个方法进行nslookup以后,就要像nslookup发送子命令“www.baidu.com”,已经exit,我们就需要使用刚刚我们所介绍的sendline。
下面我们就在实例中演示一下,首先我们需要启动nslookup,然后我们看它是否启动成功,如果启动成功的话,就返回一个大于符号的字符,也就是nslookup的子命令的提示符,所以我们调用expect来替代大于符号这个提示符,返回0说明子命令已经正确启动,那么它就会收到提示符大于符号,然后我们将“www.baidu.com”作为子命令,发送给nslookup,所以我们这个时候调用“child.sendline”发送的字符串是“www.baidu.com”,然后在进行调试,最后匹配成功,“www.baidu.com”这条子命令的运行,这条域名的查询已经完成了,然后我们就来查看匹配的结果。
那么对于这个nslookup如果可以更改,我们的服务器就可以进行查询了,更改的方法就是进行调用server这个子命令。
这个子命令是server指定为8.8.8.8,作为域名服务器来进行查询,然后我们同样的来期待子命令的提示符的出现,先查看子命令执行的结果,那么说明它已经将默认的ds服务器设置为8.8.8.8,我们还可以再次查询“www.baidu.com”的域名。
首先,提示符出现,然后查看查询的结果,然后回车就会出现查询的结果,可以看到和刚刚是一致的。然后我们还需要输入代码退出nslookup,我们需要输入代码“child.”sendline(‘exit’)这样nslookip子命令就退出了。
文章来源:麦子学院
相关推荐
Lua-spawn是一个专门为Lua语言设计的库,它允许开发者在Lua脚本中便捷地启动、控制和管理子进程。这个库对于需要与操作系统交互、执行系统命令或者运行其他程序的Lua应用来说,是非常有用的工具。在本文中,我们将...
spawn-fcgi-master 是 spawn-fcgi 的官方源码,但是不能在 windows 中编译。 spawn-fcgi-win32.c 是 windows 版源码,使用 MinGW 编译:命令行输入 “gcc spawn-fcgi-win32.c -lwsock32”即可无优化地编译, 懒得...
Ruby语言在进行进程管理时,提供了多种方法,其中之一就是`POSIX::Spawn`。这个库是Ruby的一个扩展,它提供了一种高效的方式来创建新的进程,尤其是对于Unix-like系统(包括Linux和Mac OS X)。`POSIX::Spawn`库的...
这个库是针对Node.js环境设计的,它扩展了原生的`child_process.spawn`方法,并添加了对进程终止(kill)的支持,确保在各种操作系统上都能正确无误地执行。 首先,让我们了解一下`child_process`模块在Node.js中的...
`spawn-fcgi`是FastCGI的一个管理工具,主要用于启动、停止和管理FastCGI进程。在Web服务器如Nginx中,FastCGI被广泛用于处理动态内容,因为它可以提高性能并...理解其工作原理和配置方法对于运维人员来说至关重要。
**FastCGI与Spawn-Fcgi简介** FastCGI(Fast Common Gateway Interface)是一种协议,用于在Web服务器(如Apache、Nginx等)与可执行程序之间...了解其安装、配置以及使用方法,对于构建高效稳定的Web服务至关重要。
在Laravel框架中,"spawn"通常指的是生成或者创建的意思,而非特定的工具或功能。在给定的标题“Laravel开发-spawn”中,我们可以理解这是关于利用Laravel的特性或工具来创建或初始化项目的一部分。描述提到的...
`spawn-fcgi` 是 FastCGI 进程管理器的一个实现,主要用在 nginx 和 lighttpd 等 Web 服务器上,用于启动、管理和控制 FastCGI 应用程序,比如 PHP-FPM 或者其他语言的 FastCGI 服务。`spawn-fcgi-1.6.3_arm.tar.gz`...
`前端开源库-easy-spawn` 是一个专为前端开发者设计的开源库,它的主要目的是简化在JavaScript环境中创建和管理子进程的操作。在Web开发中,尤其是在Node.js环境中,有时候我们需要执行一些系统级别的命令,比如编译...
前端开源库-gulp-spawnGulp Spawn,Gulp的Spawn插件
在本文中,我们将深入探讨Laravel开发中的"laravel-app-spawn",这是一个用于创建自定义应用程序实例引导的工具。Laravel是PHP框架中的佼佼者,以其优雅的语法、强大的功能和高效的开发流程而备受开发者喜爱。...
Node.js 最强大的一点就是“跨平台”。只要在编码时稍微注意一下,你的代码就通吃 Windows、Linux 和 OSX 平台。下面这篇文章主要介绍了如何利用Node.js编写跨平台的spawn语句,需要的朋友可以参考借鉴。
"Spawn&Move.zip"压缩包中的代码很可能是关于如何在Unity环境中创建和移动实体(Entities)的示例,这涉及到ECS和Job System的实践应用。 首先,让我们深入理解Unity ECS。Entity Component System是一种设计模式,...
`spawn-fcgi-1.6.4.tar.gz` 是一个用于C++开发FastCGI应用程序的管理工具,其核心功能是管理和启动FastCGI进程。FastCGI是一种通信协议,它允许Web服务器与外部应用程序(如PHP、Python或Ruby解释器)进行长时间连接...
spawn-fcgi.exe Windows下运行
【前端开源库-svn-spawn】是一个专门为前端开发者设计的开源工具,它允许开发者通过命令行接口(CLI)与Subversion(简称svn)版本控制系统进行交互。Subversion是一款广泛使用的版本控制系统,用于管理源代码和其他...
`spawn-fcgi` 是 FastCGI 的一个启动和管理工具,它主要用于在服务器上快速启动和管理 FastCGI 进程。FastCGI 是一种Web服务器与动态内容生成器(如PHP、Python、Perl等)之间通信的协议,相较于传统的CGI,FastCGI...
产生同步这曾经是require('child_process').spawnSync但是现在所有主动维护的节点版本都已经支持spawnSync ,因此这只是重新导出spawnSync的存根。用法您应该从依赖项中删除该库,然后执行以下操作: var spawnSync ...
总之,通过这个方法,开发者可以方便地在多个Kubernetes集群之间切换,无需在不同shell窗口间频繁跳转,提高了工作效率。这对于管理多集群环境或进行集群间测试的IT专业人士来说尤其有用。同时,这也体现了Linux系统...
节点的spawn和spawnSync的跨平台解决方案。 安装 Node.js版本8及更高版本: $ npm install cross-spawn Node.js版本7及以下版本: $ npm install cross-spawn@6 为什么 在Windows上使用Spawn时,节点出现问题: ...