我有一个Juniper Netscreen SSG-140。 在尝试使用VoIP服务的同时,我定义了一个自定义策略,用于允许将正在使用的可能端口从通过互联网连接的系统发送回VoIP服务器。 因为过去当VoIP系统在UDP会话过期时,VoIP系统出现故障的时间比保存时间快,所以我把这个自定义服务的超时设置为“从不”。 经过多次实验,我偶然注意到我在防火墙上的会话数从几千增加到超过36000。 经过与VoIP“专家”的讨论后,我把超时设置为30分钟, 然而,在实验过程中build立的所有会议都在3天以后。 有没有办法,我可以强制这些旧会话过期,从会议表中删除,或者我正在重新设置我的防火墙? (两个防火墙,实际上 – 他们在一个集群中。)
我有一堆几个bash脚本,将执行一些需要用户input的操作,因此我使用它期望。 但是,我需要一个继续运行。 但是如果我使用expect,那么expect命令将等待脚本运行,而我的主脚本将不会继续。 IE:script1以root身份产生一个脚本: #!/bin/bash expect << EOF spawn su root -c "/bin/bash script2.sh" expect "Password:" send "test\n" set timeout -1 expect eof; EOF script2.sh会产生一个屏幕: #!/bin/bash screen -dm nastyscript.sh nastyscript.sh会产生一个必须保持运行的二进制文件: #!/bin/bash expect << EOF spawn mybinary expect "*Enter password for my binary" send "test\r" expect "*I am running" set timeout -1 expect -re . { […]
您可以在/etc/security/limits.conf设置标准Linux应用程序的内存使用限制 不幸的是, 我以前认为 这些限制只适用于用户应用程序而不适用于系统服务 。 这意味着用户可以通过系统服务(如screen启动应用程序来绕过其限制。 我想知道是否有可能让用户使用screen但仍然强制执行应用程序的限制。 杰夫有使用nohup服从用户限制(美妙!)的好主意,但我仍然想知道是否有可能模仿screen的有用的窗口function。 编辑: 看来我的screen会话现在正在遵守/etc/security/limits.conf定义的硬地址空间限制。 我一定是犯了一些错误。 我最近安装了cpulimit ,但我怀疑这是解决scheme。感谢nohup提示,杰夫! 这非常有用。 链接到CPU限制包
我正在使用redhat openshift,现在发现一些问题: a)为什么默认屏幕不支持包含太多字符的path [xxname-xxname.rhcloud.com ~]\> which screen /usr/bin/screen [xxname-xxname.rhcloud.com ~]\> screen -S l LoginName too long – sorry. [xxname-xxname.rhcloud.com ~]\> screen -S l LoginName too long – sorry. [xxname-xxname.rhcloud.com ~]\> ls app-root git jbosseap-6.0 xxname [xxname-xxname.rhcloud.com ~]\> cd jbosseap-6.0/jbosseap-6.0/tools/bin/ [xxname-xxname.rhcloud.com bin]\> ls screen screen-4.1.0 screen-4.1.0.old screen.old tmux b) 为什么我没有权限访问/ dev / pts / 0? [xxname-xxname.rhcloud.com […]
给定一个ScreenOS 6.3.0防火墙与这个configuration: unset flow reverse-route clear-text set interface "ethernet0/0" zone "Trust" set interface ethernet0/0 ip 192.168.1.1/24 set interface ethernet0/2 ip 10.0.0.1/24 set interface ethernet0/2 mip 10.9.9.10 host 192.168.1.10 netmask 255.255.255.255 vr trust-vr set interface ethernet0/2 mip 10.8.8.10 host 192.168.1.10 netmask 255.255.255.255 vr trust-vr set route 0.0.0.0/0 interface ethernet0/2 gateway 10.0.0.254 …(并假设适当的策略)是否有办法控制防火墙select192.168.1.10发起的出站连接的MIP? (大概是因为我希望上游10.0.0.254根据数据包的来源IP来做不同的事情)。 更新:好的,我的情况是这样的:我有两个ISP上行链路,每个给我一个不同的IP空间。 每个ISP只会路由他们分配给我的IP空间。 因此,为了使服务器能够被两个ISP访问,我需要两个MIP用于同一个服务器,每个接口上一个。 […]
我有一个embedded式设备上的脚本,调用屏幕开始,如果用户通过SSH会话login… #!/bin/sh SCREENRUNNING=`pgrep SCREEN` if [ -z "$SCREENRUNNING" ]; then echo "Screen not running so let's start the Master session sleep 2 screen -dmS Master sleep 2 screen -x root/Master else echo "Screen is already running let's connect to existing session" sleep 2 screen -x root/Master fi 但是,这将保持调用脚本处于活动状态,直到屏幕会话退出,即使它被分离。 我想要做的是调用脚本完成并退出,而屏幕会话保持活动。 我已经尝试daemonising屏幕-x行,并添加到屏幕的末尾-x行,这两者都没有正常工作。 想法? 如果您不让脚本完成并退出,则每当您重新login设备时都会收到孤立实例,即每次login都会生成一个脚本实例,只有在屏幕完全closures时才会退出。 由于它是embedded式设备,所以nohup不可用。
我正在尝试使用HP-UX B.11.23 U ia64 0308561483 unlimited-user license进行screen工作。 请注意,我没有root权限。 我已经编译成功,使用LIBS=-lcursesconfigurationscreen 。 当我尝试开始屏幕它wrotes Cannot find terminfo entry for 'xterm'. 但是有terminaltypes的terminfos screen-4.0.3> ls -a /usr/share/lib/terminfo/x/ . .. x-hpterm x1700 x1720 x1750 xitex xl83 xterm xterms 我的问题可能是在非标准path中,因为根据man页的标准path是/usr/lib/terminfo/?/* 我试过的: 但正如我所说我没有root访问,所以不能使符号链接,无论如何,我试图运行屏幕填充TERMINFO_DIRS ( TERMINFO_DIRS=/usr/share/lib/terminfo/x/ ./screen和TERMINFO_DIRS=/usr/share/lib/terminfo/ ./screen ),但没有一个工作 – 同样的错误。 将TERM更改为不同的值 – 相同的错误Cannot find terminfo entry for <WHATEVER WHAT WAS IN TERM VAR>. […]
我们一直在使用我们的跳转盒上的GNU屏幕,让ssh会话在我们专用networking内的多个主机上开放。 每个主机一个窗口。 最近,我们已经build立了一个新的环境,并经常出现屏幕挂起。 大多数情况下,当很多terminal输出被假脱机到屏幕上时(例如抓取文件),屏幕变得无法响应。 terminal停止更新中间命令,我不能切换到任何其他屏幕窗口。 我可以再次login到跳转框中,然后做一个屏幕-dr,它就像什么都不是。 我们使用的.screenrc是: bindkey -k k2 screen bindkey -k k3 prev bindkey -k k4 next bindkey -k k7 copy bindkey -k k8 title bindkey -k k9 windows startup_message off hardstatus alwayslastline hardstatus string "%-w%{= BW}%50>%n %t%{-}%+w%<" nonblock on 虽然屏幕会议像这样冻结,你能build议我应该看看究竟是什么原因,因为我相当难倒? 这是在debian wheezy下,screen = 4.1.0〜20120320gitdb59704-7,这些都是EC2实例,以防相关。
我希望这个问题是可以的这个论坛。 我有一个设备,一个调制解调器。 我把这个调制解调器与linux程序“screen”作为一个terminal程序。 我像这样调用它“ /usr/bin/screen /dev/tty6 ”。 我需要每个会话发送大约6个命令。 我使用期望的脚本,所以我可以自动化的过程。 期望脚本产生屏幕过程,发送命令然后退出。 当我从terminal会话运行它时,或者当我使用另一台机器上的ssh远程运行它时,该系统工作正常。 但是当我用cron运行它时,它失败了。 在本地机器上,它会失败,出现如下错误: spawn id exp6 not open while executing exp_send 。 这是在第三次发送预期的脚本。 我尝试使用cron远程使用ssh与-t , -tt , -ttt选项运行,但是我得到错误:“ Pseudo-terminal will not be allocated because stdin is not a terminal. 我的crontabs有一个pathvariables集,然而大部分命令都是用完整的path调用的,我很确定。 我尝试使用-m选项尝试产卵屏幕,但它仍然显然产生失败。 产卵屏幕和分离它在这种情况下没有任何意义。 部分问题似乎是运行屏幕作为terminal仿真器到串口不同于正常运行。 任何帮助或见解将不胜感激。 期望的脚本在这里: — DO-stuff.exp #!/usr/bin/expect -b set verbose 0 set verb [lindex […]
与其他用户共享屏幕会话的安全性有哪些危险? 我打算遵循这个指南: http : //magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/