#vim /etc/profile
export TMOUT=300
若300秒内无输入,则退出当前bash 这个可以?
试了一下,远程和本机bash均退出了(偶使用的是vmware虚拟机做的)。暂时定为这个胜出吧!
但是这个是在客户端无发送请求包保持连接的情况下,若强制在服务器断开连接呢?得到这样的答案:
写个脚本 到2个小时就kill掉
弄脚本 干掉.....
#fuser -k /dev/pts/*
#pkill -kill -t pts/*
这两个应该都可以 干掉所有连接
但是试过都没成功,而且也没理解这命令的含义,所以就用我自己麻烦的办法kill了一下:
kill -9 `ps aux | grep ssh |grep @ |awk '{print $2}'`
在这里能用成。
另外,Xshell工具连接的:
服务器默认就是会断开的,但是连接工具会设置 发送活动状态;
在属性-连接-保持活动状态中,将会话期间保持活动状态前面框里,去掉这个勾选,就ok了!
// 思路是发送一个http请求,然后从response字符串里截取出Date部分,这样得到的时间是GMT格式的,不过转本地时间也很容易了#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
WSADATA wsaData
addrinfo hints, *rs
sockaddr_in serveraddr
SOCKET s
char host[256], hostIP[256], request[1024], *p
int rc, nBytes
WSAStartup(MAKEWORD(2, 2), &wsaData)
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)
printf("plz input host name(eg.www.example.com):")
gets(host)
ZeroMemory(&hints, sizeof(addrinfo))
hints.ai_flags = AI_PASSIVE
hints.ai_family = AF_UNSPEC
hints.ai_socktype = SOCK_STREAM
hints.ai_protocol = IPPROTO_TCP
rc = getaddrinfo(host, "80", &hints, &rs)
if(rc != 0) {
printf("getaddrinfo failed with error code:%d\n", WSAGetLastError())
goto clean
}
getnameinfo(rs->ai_addr, rs->ai_addrlen, hostIP, NI_MAXHOST, NULL, 0, NI_NUMERICHOST)
printf("server ip is: %s\n", hostIP)
freeaddrinfo(rs)
serveraddr.sin_family = AF_INET
serveraddr.sin_addr.s_addr = inet_addr(hostIP)
serveraddr.sin_port = htons(80)
rc = connect(s, (SOCKADDR*) &serveraddr, sizeof(serveraddr))
if(rc != 0) {
printf("connect to server failed.")
goto clean
}
strcpy(request, "GET / HTTP/1.1\r\n")
strcat(request, "Host: ")
strcat(request, host)
strcat(request, "\r\nConnection: close\r\n\r\n")
send(s, request, strlen(request), 0)
while(1)
{
nBytes = recv(s, request, 1024, 0)
if(nBytes == SOCKET_ERROR)
{
printf("recv failed with error %d\n",WSAGetLastError())
goto clean
} else {
p = strstr(request, "Date:")
p += 5
while(*p == ' ') ++p
printf("server time: ")
while(*p != '\r')
putchar(*p++)
putchar('\n')
break
}
}
clean:
closesocket(s)
WSACleanup()
return 0
}
程序集 窗口程序集1.子程序 _按钮1_被单击
.局部变量 XML对象, 对象
.局部变量 时间文本, 文本型
按钮1.禁止 = 真
.如果真 (XML对象.创建 (“MSXML2.XMLHTTP”, ) = 假)
.如果真 (XML对象.创建 (“Microsoft.XMLHTTP”, ) = 假)
返回 ()
.如果真结束
.如果真结束
XML对象.方法 (“open”, 编辑框2.内容, 编辑框1.内容, 假)
XML对象.方法 (“send”, )
时间文本 = XML对象.读文本属性 (“getResponseHeader”, “Date”)
标签1.标题 = “当前服务器时间为:” + 到文本 (时间格式化 (时间文本))
按钮1.禁止 = 假
.子程序 时间格式化, 日期时间型
.参数 时间文本, 文本型
.局部变量 临时数组, 文本型, , "0"
.局部变量 临时变量, 文本型
.局部变量 时间变量, 日期时间型
.局部变量 临时时间, 日期时间型
.局部变量 日, 文本型
.局部变量 月, 文本型
.局部变量 年, 文本型
.局部变量 时, 文本型
.局部变量 分, 文本型
.局部变量 秒, 文本型
临时数组 = 分割文本 (时间文本, “, ”, )
临时变量 = 临时数组 [2]
临时变量 = 子文本替换 (临时变量, “ GMT”, , , , 真)
清除数组 (临时数组)
临时数组 = 分割文本 (临时变量, “ ”, )
日 = 临时数组 [1]
.判断开始 (临时数组 [2] = “Jan”)
月 = “01”
.判断 (临时数组 [2] = “Feb”)
月 = “02”
.判断 (临时数组 [2] = “Mar”)
月 = “03”
.判断 (临时数组 [2] = “Apr”)
月 = “04”
.判断 (临时数组 [2] = “Mar”)
月 = “05”
.判断 (临时数组 [2] = “Jun”)
月 = “06”
.判断 (临时数组 [2] = “Jul”)
月 = “07”
.判断 (临时数组 [2] = “Aug”)
月 = “08”
.判断 (临时数组 [2] = “Sep”)
月 = “09”
.判断 (临时数组 [2] = “Oct”)
月 = “10”
.判断 (临时数组 [2] = “Nov”)
月 = “11”
.判断 (临时数组 [2] = “Dec”)
月 = “12”
.默认
.判断结束
年 = 临时数组 [3]
临时变量 = 临时数组 [4]
清除数组 (临时数组)
临时数组 = 分割文本 (临时变量, “:”, )
时 = 到文本 (到整数 (临时数组 [1]))
分 = 临时数组 [2]
秒 = 临时数组 [3]
时间变量 = 到时间 (年 + “/” + 月 + “/” + 日 + “/” + 时 + “/” + 分 + “/” + 秒)
时间变量 = 增减时间 (时间变量, #小时, 8) ' 转换为北京时间
返回 (时间变量)
如果想返回服务器日期,时间包括秒,请用<%=now()%>
这里附带下:<%=date()%>显示日期 例如:2006-6-30
<%=Time()%>显示时间 例如:21:12:12
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)