linux命令超时时间 linux设置超时不退出

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=0break #进程不存在了就退出循环
let timer-=1
done
[ $flag -eq 1 ]kill -9 $(ps -aux | awk '/ bash$/{print $1}')
Linux运维命令Curl - 日常用法总结在Linux系统中,curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具 。它支持文件的上传和下载操作,是综合传输工具 , 习惯上称url为下载工具 。下面就日常运维中基于curl命令使用做下总结
一、Curl命令用法
1. curl语法和参数选项
# curl [option] [url]
curl常见参数
2. curl使用说明
curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据 , 显示在"标准输出"(stdout)上面 。它支持多种协议,下面说下curl命令的日常使用示例:
3. curl上传文件的用法(POST请求方式)
一般来说,我们都会用curl下载网页,但是curl上传文件则不常用 。下面说下curl模拟"multipart/form-data"形式的form上传文件, 命令稍稍复杂些 。
4. curl常用示例
5. curl命令的超时时间
二、Curl的GET、POST、PUT、DELETE请求
1. GET、POST、PUT、DELETE含义与区别
2. GET、POST、PUT、DELETE四种请求方式的curl访问
Linux expectexpect:expect是Unix系统中用来进行自动化控制和测试的脚本工具 , 常用于实现交互式任务的自动化 。使用命令”dnf install expect -y”进行安装 。脚本文件声明为”#!/usr/bin/expect” 。
expect常用命令如下:
1.spawn 交互命令(如spawn ssh root@192.168.1.1):”spawn”是expect的初始命令,用于启动一个新的交互进程,之后所有的操作都会在这个进程中进行 。
2.set:定义变量/为变量赋值 。使用语法:set 变量名 值 。
3.puts:将变量值/字符串定向到本地标准输出文件(即定位到屏幕) 。使用语法:puts “字符串/$变量名”
4.send_user:作用和使用方法类似于”puts”,区别在于”puts”会在输出内容的结尾自动追加一个换行符,而”send_user”不会 。
5.send:向交互进程发送信息/命令(字符串和一些特殊符号,\r—回车,\n—换行,\t—制表符) 。使用语法:send “信息/命令[\r]” 。
6.[lindex $argv 数字]:表示外部传递参数的值,数字是n,就表示第n-1个参数 。注:$argc表示外部传递参数的个数,也是一个值 。
7.expect 字符串 { 命令 }:将字符串与交换进程接收到的信息进行匹配 。如果匹配成功(字符串是交换进程接收到的信息的一部分),执行包含在”{}”中的命令;如果匹配失败,不执行包含在”{}”中的命令 。该命令有三种使用方法:
第一种:单分支模式
①expect 字符串 { 命令 }
解释:如果字符串与交换进程接收到的信息匹配成功,执行包含在”{}”中的命令,并结束该expect命令;如果字符串与交换进程接收到的信息匹配失败,timeout秒后结束该expect命令 。(注:脚本执行到expect命令时,计时器就开始计时,并会在计时器超时前不断对交换进程接收到的信息进行扫描 , 尝试字符串与信息的匹配 。)
②expect {
字符串{ 命令 }
timeout { 命令 }
}
解释:如果字符串与交换进程接收到的信息匹配成功,执行包含在”{}”中的命令,并结束该expect命令;如果字符串与交换进程接收到的信息匹配失败,timeout秒后执行包含在”{}”中的命令,之后结束该expect命令 。(注:脚本执行到expect命令时,计时器就开始计时 , 并会在计时器超时前不断对交换进程接收到的信息进行扫描 , 尝试字符串与信息的匹配 。)
第二种:多分支模式
①expect {
字符串1 { 命令 }
字符串2 { 命令 }
}
解释:如果字符串1与交换进程接收到的信息匹配成功 , 执行执行包含在”{}”中的命令,并结束该expect命令;如果字符串1与交换进程接收到的信息匹配失败、字符串2与交换进程接收到的信息匹配成功,执行包含在”{}”中的命令 , 并结束该expect命令;如果字符串1、字符串2皆与交换进程接收到的信息匹配失败,timeout秒后结束该expect命令 。(注:脚本执行到expect命令时,计时器就开始计时 , 并会在计时器超时前不断对交换进程接收到的信息进行扫描,尝试字符串与信息的匹配 。)
②expect {
字符串1 { 命令 }
字符串2 { 命令 }
timeout { 命令 }
}
解释:如果字符串1与交换进程接收到的信息匹配成功,执行执行包含在”{}”中的命令,并结束该expect命令;如果字符串1与交换进程接收到的信息匹配失败、字符串2与交换进程接收到的信息匹配成功 , 执行执行包含在”{}”中的命令,并结束该expect命令;如果字符串1、字符串2皆与交换进程接收到的信息匹配失败,timeout秒后执行包含在”{}”中的命令,之后结束该expect命令 。(注:脚本执行到expect命令时,计时器就开始计时 , 并会在计时器超时前不断对交换进程接收到的信息进行扫描,尝试字符串与信息的匹配 。)
第三种:循环多分支模式(注:exp_continue命令只能出现在expect命令的匹配语句中,执行到exp_continue命令时,脚本会跳出当前expect命令,并重新执行该expect命令 , 直到expect命令通过不包含exp_continue命令的匹配语句结束、或expect命令匹配超时结束 。)
①expect {
字符串1 { 命令; exp_continue }
字符串2 { 命令 }
}
解释:如果字符串1与交换进程接收到的信息匹配成功,执行执行包含在”{}”中的命令,并重新执行该expect命令;如果字符串1与交换进程接收到的信息匹配成功,执行执行包含在”{}”中的命令,并重新执行该expect命令...;如果字符串1与交换进程接收到的信息匹配失败、字符串2与交换进程接收到的信息匹配成功,执行包含在”{}”中的命令 , 并结束该expect命令;如果字符串1、字符串2皆与交换进程接收到的信息匹配失败,timeout秒后结束该expect命令 。(注:脚本执行到expect命令时 , 计时器就开始计时,并会在计时器超时前不断对交换进程接收到的信息进行扫描,尝试字符串与信息的匹配 。)
②expect {
字符串1 { 命令; exp_continue }
字符串2 { 命令 }
timeout { 命令 }
}
解释:如果字符串1与交换进程接收到的信息匹配成功,执行执行包含在”{}”中的命令,并重新执行该expect命令;如果字符串1与交换进程接收到的信息匹配成功,执行执行包含在”{}”中的命令,并重新执行该expect命令...;如果字符串1与交换进程接收到的信息匹配失败、字符串2与交换进程接收到的信息匹配成功,执行包含在”{}”中的命令,并结束该expect命令;如果字符串1、字符串2皆与交换进程接收到的信息匹配失败,timeout秒后执行包含在”{}”中的命令,之后结束该expect命令 。(注:脚本执行到expect命令时,计时器就开始计时 , 并会在计时器超时前不断对交换进程接收到的信息进行扫描,尝试字符串与信息的匹配 。)
8.timeout:timeout是expect中的一个关键字变量,用于控制expect命令的超时时间 。需要注意的是,这个超时时间针对于整个expect命令,而不是针对于expect命令中的某条匹配语句 。也就是说 , 只有expect命令中所有匹配语句都匹配失败后,才会开始计算超时时间 。timeout变量值缺省为10(秒),我们可以通过”set timeout=值”的方式为其重新赋值,作用范围:本次赋值到下一次赋值间的所有expect命令 。注:如果需要为timeout变量重新赋值,应在expect命令之外进行 。
9.expect eof:该命令的作用是结束spawn交互进程,将命令行切回至运行脚本的主机(即从远端服务器登出) 。
10.interact:缺省情况下 , expect脚本执行完毕后会自动从远端服务器登出(即便没有显式地执行”expect eof”命令) 。使用interact命令后,expect脚本执行完毕会继续保持当前状态,并将控制权移交给用户 。
11.exit:结束该脚本 。
expect中的if语句:
if { 条件表达式 } {
命令
}
if { 条件表达式 } {
命令
} else {
命令
}
expect中的while语句:
while { 条件表达式 } {
命令
}
expect中的for语句:
for { set i 1 } { $i =10 } { incr i } {
命令
}
incr变量名 步长——变量自增
incr 变量名 -步长——变量自减
数学运算需使用let、expr等工具
linux 系统默认的无操作超时时间怎样设置用户超时注销
如果用户离开时忘记注销账户,则可能给系统安全带来隐患 。可修改/etc/profile文件,保证账户在一段时间没有操作后,自动从系统注销 。
编辑文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行:
TMOUT=600
则所有用户将在10分钟无操作后自动注销
【linux命令超时时间 linux设置超时不退出】linux命令超时时间的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux设置超时不退出、linux命令超时时间的信息别忘了在本站进行查找喔 。

    推荐阅读