程序后台运行,防止服务器掉线/忽然断线

2023-10-30 10:59

本文主要是介绍程序后台运行,防止服务器掉线/忽然断线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

零散知识点

第一章:dblp网站、txt->bib
第二章 :screen窗口
第三章:查看进程与关闭进程
第四章:复现代码通用问题


文章目录

  • 零散知识点
  • 一、screen窗口
  • 二、screen相关命令
    • 1.安装screen
    • 2.新建窗口
    • 3.会话分离
    • 4.恢复会话窗口
    • 5.杀死多余窗口
    • 6.清除死去的窗口
  • 总结


一、screen窗口

使用screen命令可以实现当前窗口与任务分离,我们即使离线了,服务器仍在后台运行任务。

二、screen相关命令

1.安装screen

代码如下(示例):

#三者选其一
pip install screen 
#或者
conda install screen 
#或者 
yum install screen

2.新建窗口

代码如下(示例):

#方法一
screen #这个可以新建窗口,但是窗口没有名字,因为只有一串数字,没有办法区分#方法二
screen -S name #新建了一个名字为name的窗口
# 例如:screen -S adasum-small
#这种方法之后,就可以在这个窗口中运行python代码#方法三
screen commend #(commend是指命令)
#例如:screen python ./mycode.py

3.会话分离

如果我们在窗口运行某个程序,想要关掉某个窗口,但是程序仍在后台运行。
1.快捷键是ctrl+a+d就可以将窗口关闭,但是程序仍在后台运行

快捷键 ctrl + a + d

2.如果在其他的终端登上服务器,想要重新在其他终端上登上运行界面,可以使用screen -d name

screen -d name

4.恢复会话窗口

首先查看有哪些窗口正在进行

screen -ls #查看有哪些窗口正在进行

screen窗口

重启窗口

screen -r 3195855.adasum-small

这样就可以重新回到3195855.adasum-small窗口

5.杀死多余窗口

第一种方法

kill -9 threadsum #例如 kill -9 3195855

第二种方法

快捷键 ctrl + a + k 杀死当前窗口和窗口中正运行的程序

第三种方法

快捷键 ctrl+a ,然后再输入quit命令退出screen会话,
需要注意,这样退出会杀死所有窗口并退出其中运行的所有程序!!!!!!!

6.清除死去的窗口

当窗口被杀死后,再用screen -ls 可以看到该窗口后面的(???dead)字样,说明窗口死了,但是仍在占用空间。这时需要清除窗口

screen -wipe  #自动清除死去的窗口

总结

# 新建窗口 sutools
screen -S sutools
# 运行命令   
python mucode.py 
# 挂起 [detached] 
ctrl + a + d  
# 查看窗口列表
screen ls  
# 恢复挂起的窗口
screen -r 34837 
# 杀死指定窗口
kill -9 34837 
# 清除死去的窗口
screen -wipe

这篇关于程序后台运行,防止服务器掉线/忽然断线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/307452

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

2024.6.24 IDEA中文乱码问题(服务器 控制台 TOMcat)实测已解决

1.问题产生原因: 1.文件编码不一致:如果文件的编码方式与IDEA设置的编码方式不一致,就会产生乱码。确保文件和IDEA使用相同的编码,通常是UTF-8。2.IDEA设置问题:检查IDEA的全局编码设置和项目编码设置是否正确。3.终端或控制台编码问题:如果你在终端或控制台看到乱码,可能是终端的编码设置问题。确保终端使用的是支持你的文件的编码方式。 2.解决方案: 1.File -> S

Java面试八股之怎么通过Java程序判断JVM是32位还是64位

怎么通过Java程序判断JVM是32位还是64位 可以通过Java程序内部检查系统属性来判断当前运行的JVM是32位还是64位。以下是一个简单的方法: public class JvmBitCheck {public static void main(String[] args) {String arch = System.getProperty("os.arch");String dataM

eclipse运行springboot项目,找不到主类

解决办法尝试了很多种,下载sts压缩包行不通。最后解决办法如图: help--->Eclipse Marketplace--->Popular--->找到Spring Tools 3---->Installed。

22.手绘Spring DI运行时序图

1.依赖注入发生的时间 当Spring loC容器完成了 Bean定义资源的定位、载入和解析注册以后,loC容器中已经管理类Bean 定义的相关数据,但是此时loC容器还没有对所管理的Bean进行依赖注入,依赖注入在以下两种情况 发生: 、用户第一次调用getBean()方法时,loC容器触发依赖注入。 、当用户在配置文件中将<bean>元素配置了 lazy-init二false属性,即让

21.手绘Spring IOC运行时序图

1.再谈IOC与 DI IOC(lnversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创 建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让 容器知道需要创建的对象与对象的关系。这个描述最具体表现就是我们所看到的配置文件。 DI(Dependency Injection)依赖注入:就是指对象是被动接受依赖类

通过SSH隧道实现通过远程服务器上外网

搭建隧道 autossh -M 0 -f -D 1080 -C -N user1@remotehost##验证隧道是否生效,查看1080端口是否启动netstat -tuln | grep 1080## 测试ssh 隧道是否生效curl -x socks5h://127.0.0.1:1080 -I http://www.github.com 将autossh 设置为服务,隧道开机启动

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

【服务器运维】CentOS6 minimal 离线安装MySQL5.7

1.准备安装包(版本因人而异,所以下面的命令中版本省略,实际操作中用Tab自动补全就好了) cloog-ppl-0.15.7-1.2.el6.x86_64.rpmcpp-4.4.7-23.el6.x86_64.rpmgcc-4.4.7-23.el6.x86_64.rpmgcc-c++-4.4.7-23.el6.x86_64.rpmglibc-2.12-1.212.el6.x86_64.r

【服务器运维】CentOS7 minimal 离线安装 gcc perl vmware-tools

0. 本机在有网的情况下,下载CentOS镜像 https://www.centos.org/download/ 1. 取出rpm 有的情况可能不需要net-tools,但是如果出现跟ifconfig相关的错误,就把它安装上。另外如果不想升级内核版本的话,就找对应内核版本的rpm版本安装 perl-Time-Local-1.2300-2.el7.noarch.rpmperl-Tim