成都网站建设设计

将想法与焦点和您一起共享

linux命令执行超时,linux取消超时命令

如何解决SSH连接Linux超时自动断开

今天给大家说说Linux系统SSH超时断开的处理方法!解决方法:通过修改/etc/ssh/sshd_config中的配置解决自动断开的问题。下面是要修改的两个配置项的含义:“ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0, 不发送。而ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了。这里比较怪的地方是:不是客户端主动发起保持连接的请求(如FTerm, CTerm等),而是需要服务器先主动。另外,至于ClientAliveCountMax, 使用默认值3即可.ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开。正常情况下, 客户端不会不响应。“1 查看当前配置grep“ClientAlive” sshd_config#ClientAliveInterval0#ClientAliveCountMax32 备份原文件cp sshd_configsshd_config.bak3 修改配置文件sed-i “s/#ClientAliveInterval 0/ClientAliveInterval 60/g” sshd_configsed -i “s/#ClientAliveCountMax3/ClientAliveCountMax 3/g” sshd_config4 验证修改结果grep“ClientAlive” sshd_configdiff sshd_configsshd_config.bak5 重启服务service sshdrestart上面就是Linux SSH超时断开的解决方法介绍了,通过本文的设置,不管SSH是否超时都不会断开,如果需要自动断开可再设置回来。

成都创新互联主营维西网站建设的网络公司,主营网站建设方案,APP应用开发,维西h5小程序设计搭建,维西网站营销推广欢迎维西等地区企业咨询

Linux系统输入超时,自动退出登录

对所有用户设置自动注销功能:

首先,以root用户登录系统,输入 vi /etc/profile 命令,编辑profile文件。

查找TMOUT,若没有,则可以在文件最后添加如下语句:

TMOUT=300

export TOMOUT

如果查找到了,直接设置时间。

300表示自动注销的时间为300秒。

编辑好文件后,保存,退出,重新登录,设置生效。

麻烦问下,linux怎么防止终端超时?

一、有个工具叫screen,可以虚拟终端,通过命令screen -S name 来创建一个名为name的虚拟终端,这样即使终端超时自动断开,再登录到系统之后只需要screen -r name就可以继续连接到刚才创建的虚拟终端,且所有的操作都会继续不会中断。

二、远程工具可以进行相关的设置,比如secretcrt这个工具就可以设置每10秒操作一下,这样就不会中断。

linux popen system 超时问题

一个方法是:信号+子进程的方法...显得比较繁琐...

定义一个全局变量,作为标志位

fork,让子进程去执行系统调用...

然后父进程调用alarm,设置周期为20秒,这样每隔20秒会收到一个SIGALRM;

然后注册SIGALRM和SIGCHILD这两个信号的处理函数,可以让其中一个信号处理函数去修改全局变量..(子进程返回时候父进程会收到一个SIGCHILD信号)

再然后,调用sigsuspend让父进程休眠,设置好信号掩码,保证两个信号可以唤醒父进程--SIGALRM和SIGCHILD。

然后就是你父进程被某个信号唤醒了...此时就判断是怎么被唤醒(用刚才那个全局变量判断)...要是SIGALRM,就说明超时了.要是SIGCHILD就说明没超时...后面就是你自己的事情了.两种情况分别处理呗..

当然,另外一种简单的方法(比较耗费CPU)...还是需要子进程...

先fork,然后调用waitpid,设置为立即返回,这样可以立刻判断子进程的状态,然后若时间没超出你的要求,就继续waitpid,直到时间超出20秒或者子进程在时限之前返回...这样轮询显然非常浪费CPU...(如何判断可以 man waitpid)

别的方法...我也想不出来了...

Linux系统SSH超时断开怎么办

vim /etc/ssh/sshd_config

找到ClientAliveInterval 参数,如果没有就自己加一行。

ClientAliveInterval 参数的数值是秒,比如你设置为540,就是9分钟.

ClientAliveInterval 540

对于ClientAliveCountMax

指如果发现客户端没有相应,则判断一次超时,这个参数设置允许超时的次数,比如10。

ClientAliveInterval 540

ClientAliveCountMax 10;

则代表允许超时 5400秒 = 90分钟。

方法2:配置客户端

1 linux下的ssh命令

vim /etc/ssh/ssh_config

然后找到里面的ServerAliveInterval 参数,如果没有你同样自己加一个就好了。参数意义相同,都是秒数,比如9分钟:

ServerAliveInterval 540

2 SecureCRT

设置反空闲,如下图所示

securecrt_to

3 Putty

启用putty keepalive

putty - Connection - Seconds between keepalives ( 0 to turn off ),默认为0,改为60。

linux的shell脚本中等待子程序执行超时

判断进程是否存在。示例:

timer=20 #20s定时器

flag=1 #标识进程是否存在

while [ $timer -gt 0 ]

do

sleep 2

ps -aux | grep 进程名 | grep -v grep /dev/null #查询进程

[ $? -ne 0 ]  flag=0  break #进程不存在了就退出循环

let timer-=1

done

[ $flag -eq 1 ]  kill -9 $(ps -aux | awk '/ bash$/{print $1}')


当前名称:linux命令执行超时,linux取消超时命令
本文地址:http://chengdu.cdxwcx.cn/article/dssgcdo.html