一种vxWorks系统实现远程登录shell的方法转让专利

申请号 : CN201210185277.7

文献号 : CN102801777B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 艾滨汪俊飞

申请人 : 烽火通信科技股份有限公司

摘要 :

一种vxWorks系统实现远程登录shell的方法,包括步骤:S1.在vxworks组件增加Telnet服务器端口组件,将其缺省的传输控制协议端口协议到另一个传输控制协议端口,作为telnet进入shell使用的端口号;S2.在系统命令行增加一条开始/结束命令,供telnet进入或关闭shell时调用;S3.telnet登录常规命令行后,执行开始命令,开启一个后台shell任务;通过命令行的登录端口登录到shell环境下,进行shell操作;操作完成后,执行结束命令,关闭后台shell任务。本发明其命令行和shell可以同时使用,便于远程故障的处理及功能调试,加快远程问题的处理速度。

权利要求 :

1.一种vxWorks系统实现远程登录shell的方法,其特征在于,包括如下步骤:S1.在定制vxworks组件时,增加Telnet服务器端口组件,并将其缺省的传输控制协议端口协议到另一个传输控制协议端口,作为telnet进入shell使用的端口号,缺省的传输控制协议端口继续作为命令行的登录端口;

S2.在系统命令行增加一条开始/结束命令,供telnet进入或关闭shell时调用;

S3.telnet登录常规命令行后,执行所述开始命令,开启一个后台shell任务;通过所述命令行的登录端口登录到shell环境下,进行shell操作;操作完成后,执行所述结束命令,关闭后台shell任务。

2.如权利要求1所述的vxWorks系统实现远程登录shell的方法,其特征在于:所述步骤S3中,后台shell任务流程为:S31.系统判断创建shell或删除,若创建shell,则进入S32;若删除shell,则进入S34;

S32.判断shell是否存在,若不存在,进入S33;若存在,则直接结束;

S33.开启一个shell,结束;

S34.删除shell,结束。

3.如权利要求1所述的vxWorks系统实现远程登录shell的方法,其特征在于:所述缺省的传输控制协议端口号为23,另一个传输控制协议端口号为4001,telnet进入shell使用的端口号,命名为TELNET_SHELL_PORT。

4.如权利要求1所述的vxWorks系统实现远程登录shell的方法,其特征在于:所述步骤S2中开始/结束命令为[start|delete]shell,通过命令行开启或关闭后台shell任务。

说明书 :

一种vxWorks系统实现远程登录shell的方法

技术领域

[0001] 本发明涉及vxWorks操作系统领域,具体来讲是一种vxWorks系统实现远程登录shell的方法。

背景技术

[0002] vxWorks是美国风河公司(WindRiver)开发的一套实时嵌入式操作系统,因其优良的性能而广泛的应用在各式嵌入式设备上,尤其是EPON、GPON、路由器、交换机等网络设备;shell是vxWorks提供的命令解析器,用来直接调用系统各种函数及应用。
[0003] 众所周知,通常任何一款具备vxWorks操作系统的网络设备,都具备比较完备的命令行系统,也支持远程telnet登录。在网络设备使用过程中,经常有问题或故障发生,在定位和处理这些问题时,仅仅依靠上层命令行或网管很难定位和解决问题,必须进入底层shell。而网络设备地点的不确定性,要求问题处理人员经常需要远程的处理这些故障问题,因此是否支持远程(telnet)登录设备的shell,对于处理突发问题故障显得非常有必要。但实际情况中,大部分设备都不支持这一功能,或者需要比较复杂的输入输出的重定向和转换才能实现这一目标,而其性能和功能则受到局限。
[0004] 以往远程解决故障问题的办法是,在telnet登录系统的命令行后,启动shell,然后将shell的输入输出重定向到命令行的输入输出上,但这里有两个技术难题:
[0005] 1、通过vxworks输入输出重定向的方法非常复杂,而且和具体命令行模块实现结构有关,某些情况下本方式无法实现shell的重定向,也就无法通过telnet登录shell。
[0006] 2、这种方式下,命令行和shell也就无法同时使用,对调试带来一定困难。
[0007] 综上所述,目前这类试图远程telnet进入vxWorks系统shell的方法问题很多,直接切换到shell模式下输出字符输出是无序的,无法正常使用;并且在这种模式下,连正常命令行也无法使用了。

发明内容

[0008] 针对现有技术中存在的缺陷,本发明的目的在于提供一种vxWorks系统实现远程登录shell的方法,其命令行和shell可以同时使用,实施简单,便于远程故障的处理及功能调试,加快远程问题的处理速度。
[0009] 为达到以上目的,本发明采取的技术方案是:一种vxWorks系统实现远程登录shell的方法,包括如下步骤:S1.在定制vxworks组件时,增加Telnet服务器端口组件,并将其缺省的传输控制协议端口协议到另一个传输控制协议端口,作为telnet进入shell使用的端口号;S2.在系统命令行增加一条开始/结束命令,供telnet进入或关闭shell时调用;S3.telnet登录常规命令行后,执行所述开始命令,开启一个后台shell任务;通过所述命令行的登录端口登录到shell环境下,进行shell操作;操作完成后,执行所述结束命令,关闭后台shell任务。
[0010] 在上述技术方案的基础上,所述步骤S1中,缺省的传输控制协议端口继续作为命令行的登录端口。
[0011] 在上述技术方案的基础上,所述步骤S3中,后台shell任务流程为:S31.系统判断创建shell或删除,若创建shell,则进入S32;若删除shell,则进入S34;S32.判断shell是否存在,若不存在,进入S33;若存在,则直接结束;S33.开启一个shell,结束;S34.删除shell,结束。
[0012] 在上述技术方案的基础上,所述缺省的传输控制协议端口号为23,另一个传输控制协议端口号为4001,telnet进入shell使用的端口号,命名为TELNET_SHELL_PORT。
[0013] 在上述技术方案的基础上,所述步骤S2中开始/结束命令为[start|delete]shell,通过命令行开启或关闭后台shell任务。
[0014] 本发明的有益效果在于:本发明越过系统的命令行,在保留telnet命令行通道的基础上,增加一条telnet通道直接指向vxworks的底层shell,使shell和命令行任务两者互不干扰,shell和命令行可同时使用,提高了调试效率和问题定位效率,也节省远程处理的时间。

附图说明

[0015] 图1本发明实施例vxWorks系统实现远程登录shell的方法流程图;
[0016] 图2为图1中步骤S3的后台shell流程图;
[0017] 图3为图1中步骤S3的telnet登录shell的流程图。

具体实施方式

[0018] 以下结合附图及实施例对本发明作进一步详细说明。
[0019] 如图1所示,本发明vxWorks系统实现远程登录shell的方法,包括如下步骤:
[0020] S1.在定制vxworks组件时,增加Telnet服务器端口组件,并将其缺省的TCP(Transmission Control Protocol,传输控制协议)端口协议到另一个TCP端口,作为telnet进入shell使用的端口号,而缺省的TCP端口继续作为命令行的登录端口。本实施例中,将缺省的TCP端口23协议到端口号4001,作为telnet进入shell使用的端口号,命名为TELNET_SHELL_PORT,缺省的TCP端口23继续作为命令行的登陆端口,因此shell使用的端口号和命令行的登陆端口得以区分。
[0021] S2.在系统命令行增加一条开始/结束命令,供telnet进入或关闭shell时调用。本实施例中该命令为[start|delete]shell,此命令的功能在于,可以通过命令行手工的开启或关闭一个后台shell任务。
[0022] S3.如图2所示,服务器telnet登录常规命令行,通过TCP端口23登录vxWorks设备,执行所述开始命令,即start shell命令,开启一个后台shell任务。服务器仍然telnet这个vxWorks设备的ip,通过所述命令行的登录端口,即端口号为TELNET_SHELL_PORT(4001)的端口登录到shell环境下,进行shell操作,此时,shell和命令行可以同时操作;操作完成后,在所述命令行上执行结束命令,即delete shell命令,关闭后台shell任务,结束整个操作,同时删除shell。其中,如图3所示,所述后台shell任务流程为:
[0023] S31.判断创建shell或删除,若创建shell,则进入S32;若删除shell,则进入S34。
[0024] S32.判断shell是否存在,若不存在,进入S33;若存在,则直接结束。
[0025] S33.开启一个shell,结束。
[0026] S34.删除shell,结束。
[0027] 本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。