189 8069 5689

linux执行命令超时,shell设置命令超时

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系统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 popen system 超时问题

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

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

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

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

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

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

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

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

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

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

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执行命令超时,shell设置命令超时
文章分享:http://cdxtjz.cn/article/hsegdg.html

其他资讯