远程计算机上有一个后台在运行控制怎样关闭?

远程计算机上有一个后台在运行控制怎样关闭?,第1张

使用SecureCRT远程连接Linux,在关闭CRT界面后程序会停止
介绍方法:在关闭CRT后程序依然在服务器运行
1 运行自己的程序,python,shell或其他程序
2 ctrl + z , 例如运行了python ttpy 这个程序,会出现 [1]+ Stopped python ttpy
Ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态
3 输入 jobs ,会显示 [1]+ Stopped python ttpy
查看当前有多少在后台运行的命令,前面这个是序号
4 输入 bg %1,后面1这个是之前jobs看到的序号,再次输入jobs发现变为 [1]+ Running python ttpy & ,说明在后台运行,但是此时关闭CRT程序依然会停止(这个命令将1号任务切换到后台执行,用户可以使用fg/bg *** 作继续前台或后台的任务,输入fg %1,程序会从后台变为前台执行)
5 输入 disown -h %1 ,程序此时变为在后台执行,并且关闭CRT不会影响程序,缺点无法再使用jobs,bg,fg 等对运行的进行控制,需要查找进程来控制 ps -ef|grep ttpy(将1号任务从当前shell的任务列表中移除,并且忽略HUP信号,即使当前Shell结束了,这个任务也不会被结束,而是继续留在后台执行)
其他方法,可以用screen来 *** 作,但是使用TensorFlow环境时,会受影响,找不到TensorFlow的环境,没有探究原因

从TCP协议角度来看,一个已建立的TCP连接有两种关闭方式,一种是正常关闭,即四次挥手关闭连接;还有一种则是异常关闭,我们通常称之为连接重置(RESET)。
首先说一下正常关闭时四次挥手的状态变迁,关闭连接的主动方状态变迁是FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT,而关闭连接的被动方的状态变迁是CLOSE_WAIT->LAST_ACK->TIME_WAIT。在四次挥手过程中ACK包都是协议栈自动完成的,而FIN包则必须由应用层通过closesocket或shutdown主动发送,通常连接正常关闭后,recv会得到返回值0,send会得到错误码10058。
除此之外,在我们的日常应用中,连接异常关闭的情况也很多。比如应用程序被强行关闭、本地网络突然中断(禁用网卡、网线拔出)、程序处理不当等都会导致连接重置,连接重置时将会产生RST包,同时网络络缓冲区中未接收(发送)的数据都将丢失。连接重置后,本方send或recv会得到错误码10053(closesocket时是10038),对方recv会得到错误码10054,send则得到错误码10053(closesocket时是10054)。
*** 作系统为我们提供了两个函数来关闭一个TCP连接,分别是closesocket和shutdown。通常情况下,closesocket会向对方发送一个FIN包,但是也有例外。比如有一个工作线程正在调用recv接收数据,此时外部调用closesocket,会导致连接重置,同时向对方发送一个RST包,这个RST包是由本方主动产生的。
shutdown可以用来关闭指定方向的连接,该函数接收两个参数,一个是套接字,另一个是关闭的方向,可用值为SD_SEND,SD_RECEIVE和SD_BOTH。方向取值为SD_SEND时,无论socket处于什么状态(recv阻塞,或空闲状态),都会向对方发送一个FIN包,注意这点与closesocket的区别。此时本方进入FIN_WAIT_2状态,对方进入CLOSE_WAIT状态,本方依然可以调用recv接收数据;方向取值为SD_RECEIVE时,双发连接状态没有改变,依然处于ESTABLISHED状态,本方依然可以send数据,但是,如果对方再调用send方法,连接会被立即重置,同时向对方发送一个RST包,这个RST包是被动产生的,这点注意与closesocket的区别。

设置功能页面关闭。
PC通过LAN口或WiFi连接U点家庭服务器,获取U点家庭服务器分配的地址后,打开浏览器,访问19216811,浏览器将跳转至U点家庭服务器设置功能首页,选择“U点家庭服务器设置”下的“WiFi设置”,点击关闭。
u点家庭服务器基于国际主流媒体网关芯片设计方案,可实现 HFC 宽带接入、多频点解调、多路视频解扰、通过 WIFI 或者以太网接口以 IP 协议分发电视直播信号,可以同时支持 4 路 4K电视直播信号。提供家庭内部组建局域网的功能,家庭内部的电子设备通过家庭网关实现无缝连接和互通,实现家庭网络内共享各种设备或媒体资源。

windows:win+r输入“mstsc”回车->输入服务器ip(需要端口的输入端口)->输入服务器密码->找到建立***的软件将他结束进程或者关闭(如果是服务项,进入计算机管理->服务->找到开启***项将他禁止)->重启服务器->测试是否关闭
linux用一下方法:
#!/bin/bash
#File: open***_turn
#Auth: Robin
#Date: 2013/01/17 10-30-10
#Desc: Start/stop open*** client
#Vers: 10
#
# open*** -s--> stop open*** client
# open*** -r--> start open*** client
#配置文件所在目录
CONF_DIR="/etc/open***"
#配置文件
CONF_FILE="clientconf"
#存放用户名和密码,格式如下
# user_name
#password
AUTH_FILE="auth"
LOG_FILE="/tmp/open***log"
PID_FILE="/tmp/open***pid"
functiondo_success {
ps -ef|grep open***|grep -v grep|awk'{print $2}'>> $PID_FILE
rm $LOG_FILE
echo -e"Start OPEN***\033[32msuccessfully\033[0m!"
exit 0
}
functiondo_fail {
echo -e"Start OPEN*** \033[41mfailure\033[0m!"
echo"Maybe you can get something useful from $LOG_FILE"
exit 1
}
functionif_run {
if [ -e $PID_FILE ];then
return0
else
return1
fi
}
functionstart_open*** {
if_run
if [ $ -eq 0 ];then
ps -ef|grep'\'|grep -v grep &> /dev/null
if [ $ -eq 0 ];then
echo -e"OPEN*** is \033[32malready running\033[0m!!!"
exit 1
else
rm $PID_FILE
fi
fi
if [ -e $LOG_FILE ];then
echo > $LOG_FILE
fi
cd $CONF_DIR
sudo open***--config $CONF_FILE --auth-user-pass $AUTH_FILE &> $LOG_FILE &
echo -e"\033[33mStarting\033[0m OPEN***"
sleep 5
cat $LOG_FILE |grep"Sequence Completed"2> /dev/null&& do_success || do_fail
}
functionstop_open*** {
if_run
if [ $ -eq 1 ];then
echo"OPEN*** is not running!"
exit 1
fi
foriin`ps -ef|grep'\'|grep -v grep|awk'{print $2}'`;do
sudo kill -9 $i
done
rm $PID_FILE
echo -e"OPEN*** is already \033[41mstop\033[0m"
}
while getopts sr SW;do
case$SWin
s)
stop_open***
break
;;
r)
start_open***
break
;;
)
echo"open***_turn [s|r]"
esac
done


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12938408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存