天道酬勤,学无止境

博客

Linux 程序运行不中断 nohup简单使用

我们使用的Linux一般是连接到某个强大的服务器上,然后从终端输入运行代码的指令,那么程序开始运行,但是这样有个问题,就是如果网络问题或者服务器和客户端连接不稳定,终端是很容易自动关闭的,如果终端关闭那么辛辛苦苦快跑完的程序也会中断。 于是我们利用指令: nohup python train.py & 输入该指令后, 程序运行结果不会显示到终端,而是直接在服务器后台运行,此时会在当前目录下生成一个nohup.out文件,会记录整个程序运行的输出内容,并且这个过程不会被中断,只能等到程序正常运行结束,非常方便好用。 那么问题来了,如果我的程序有BUG,运行后一直陷入死循环,如果是显示在终端,我们直接Ctrl+C直接中断运行,或者直接关闭当前终端就行,但是这个运行过程又不显示在终端怎么办,,,,,。 就需要另外一个指令了,关闭服务器后台运行的指令,我们知道每个程序运行的时候对系统而言都是一个进程,输入下面的代码查看你的进程,如果你租用的服务器多个用户在使用,仅仅查看自己运行的进程 ps -u yours yours表示自己在这个服务器上的用户名,当我输入后显示如下 非常棒的显示了我们当前还在运行的所有进程,CMD表示我们输入的命令类型,PID为进程号,这个很重要,每个进程对应一个独一无二的进程号,我刚刚是在用python同时跑了3个代码,右边的CMD可以看到有python指令

2022-01-08 02:56:40   

使用VMware 16 PRO安装CentOS 7系统

一、VMware界面安装CentOS 1.打开虚拟机,点击创建新的虚拟机 2.自定义(高级)-下一步 3.下一步 4.稍后安装操作系统 5.客户机操作系统:Liunx(L);版本:CentOS 7 64位;下一步 6.自定义虚拟机名称,自定义虚拟机安装位置,下一步 7.无特殊要求默认即可,下一步 8.修改虚拟机内存,根据自己机器情况修改;下一步 9.使用网络地址转换(NAT)(E);下一步 10.LSI Logic(L) (推荐);下一步 11.SCSI(S)(推荐);下一步 12.创建新虚拟机磁盘(V);下一步 13.根据自己机器情况设置磁盘大小;选择将虚拟磁盘拆分成多个文件(M);下一步 14.下一步 15.完成 二、界面编辑虚拟机设置 1.点击编辑虚拟机设置 2.点击CD/DVD(IDE)-使用ISO映像文件-浏览,选择自己下载的centos镜像文件-确定 3.点击开启虚拟机 4.鼠标点击进去,回车,等待 5.到语言界面,选择中文简体-点击继续 6.按照提示,点击有⚠图标的内容;正常只有安装位置,点击进去,默认即可,有分区要求的可以自行配置,点击完成-开始安装 软件选择中默认是最小安装,是没有可视化界面的,有需求的需要在软件选择中自行选择: Desktop:基本的桌面系统,包括常用的桌面软件,如文档查看工具 Minimal Desktop:基本的桌面系统,包含的软件更少

2022-01-08 02:56:33   

事务前沿研究丨事务测试体系解析

作者介绍:童牧。 绪论 在程序员的生涯中,bug 一直伴随着我们,虽然我们期望写出完美的程序,但是再优秀的程序员也无法保证自己能够不写出 bug。因此,我们为程序编写测试,通过提前发现 bug 来提高最终交付程序的质量。我从在 PingCAP 的工作中感受到,做好数据库和做好数据库测试是密不可分的,本次分享,我们将在第一讲的事务隔离级别的基础上,对数据库事务的测试进行研究,主要讲述,在 PingCAP 我们是如何保证事务的正确性的。 因为我们保证事务正确性的方法比较多,所以本次我们会着重讲解 Jepsen 和 Elle,而其他方法则是作为补充,我也会简单说明他们的做法和优缺点。我将事务测试的方法划分为以下几个类别: 理论正确性的验证 基于不变量的正确性验证 对执行历史进行检查的验证 辅助测试手段 回顾 Percolator 提交协议 Percolator 在开始讲述测试方法前,我们先对 Percolator 提交协议进行回顾,感受一下这一协议下的复杂性。Percolator 提交协议使用 2PC 的提交方式来保证事务的原子性,但是在 shared-nothing 架构下,没有一个节点有全局的事务信息,事务的状态信息被打散到了每个 Key 上,使得对于 Key 状态的处理变得更加复杂。 图 1 - Percolator 下的两阶段提交 图 1 是 Percolator

2022-01-08 02:56:20   

博弈论——懦夫博弈和性别战

1 懦夫博弈(又叫斗鸡博弈) 均衡结果:A进B退、A退B进 C 增加后有没好处,即收益减少,损失变大? 有,因为斗起来的可能性减少了 A增加又没好处? 要适度,过犹不及。 注:赢者通吃的行业容易导致过度竞争。 如:1 互联网 2畅销书 3演艺界 4博彩业 5战争 6竞技体育 奥运会就是一帮最需要运动的人看一帮最需要休息的人做剧烈运动! 1.1 案例 1964年3月13日夜3时,美国纽约,29岁的酒吧经理凯蒂·吉诺维斯小姐驾车驶向自己在纽约皇后区的家,那是一个中产阶级的居住区。大约3:15左右,她将自己的红色轿车停在了住处附近的一个停车场,转身走向自己的寓所。刚走几步,一个叫温斯顿·莫里斯的男人走上来袭击并用刀刺中了她。凯蒂大声呼救,附近一个住户的灯亮了,一个男人打开窗户向歹徒大喊:“放开她!”歹徒看看他,耸耸肩走开了。凯蒂小姐踉跄着往回走,邻居的灯熄灭了。此时,袭击者又转回来再次刺中了她,凯蒂再次大声呼叫。这一次,许多附近住户的灯都亮了。袭击者回到自己的轿车里跑掉了,可5分钟后,他又回来了。他沿着凯蒂的血迹在一个楼梯的门口找到了凯蒂。凯蒂已经躺在了地上,但仍有一些意识。袭击者又一次上前刺中了她,给了她致命的一击。整个的袭击事件持续了接近半个小时。在这个过程中,尽管凯蒂大声呼救,她的邻居中至少有38位到窗前观看,但无一人来救她,甚至无一人打电话报警。(搭便车) 启发

2022-01-08 02:56:12   

h5页面生成海报的插件---html2canvas 及生成的图片模糊问题

安装 npm 安装 npm install --save html2canvas 直接引入html2canvas.js <script src="http://html2canvas.hertzen.com/dist/html2canvas.min.js"></script> <div id="capture" style="padding: 10px; background: #f5da55"> <h4 style="color: #000; ">Hello world!</h4> </div> 基本语法 html2canvas(element, options); html2canvas(document.body, { onrendered: function(canvas) { document.body.appendChild(canvas); }, width: 300, height: 300 }); //两个参数:所需要截图的元素id,截图后要执行的函数, canvas为截图后返回的最后一个canvas var opts={ allowTaint: true; taintTest: false; useCORS: true; .. .. } Html2canvas(document.querySelector("#capture"),opts).then(

2022-01-08 02:56:07   

Samplitude.Pro.X5 绿色机架免费下载

ddma.com点击打开: Samplitude.Pro.X5 绿色机架免费下载 密码:0000 来源:https://blog.csdn.net/qq_21191669/article/details/117113103

2022-01-08 02:55:59   

python3如何安装pip及requests库的导入

最近在学习python的内容,在导入requsets库的时候遇到了问题。 import requests 查了一下资料是requests库需要安装后才能使用。需要在cmd命令行执行 pip install requests 命令。 但是执行的时候没啥反应,requests包还是没导入,遂又去百度。。 原来是我的python包没有pip这个工具。还需要先安装pip。下面就来给大家趟一遍浑水,下次就不会犯类似的错误了。 1、安装pip 下载地址:https://pypi.org/project/pip/#modal-close 2、下载后解压到本地。然后用管理员权限打开cmd命令行(不用管理员权限打开执行会报错)。进入到pip所在目录。 3、执行命令: python setup.py install 4、执行成功后验证命令: pip list 该命令表示你目前安装了那些第三方类库。 5、安装好pip之后需看一下你的环境变量有没有配置python的scritpt目录,如果没有需要添加如下: 6、下一步就是安装requests库了。(注:需在有网环境,没网下不下来) 在刚才的cmd命令行执行命令: pip install requests 7、大功告成,可以引用requests包开始爬虫的学习了~~ 喜欢的朋友欢迎点赞、评论、关注哦~~ 来源:https://blog.csdn.net

2022-01-08 02:55:52   

【哈工大操作系统】三、系统调用

系统调用 概述详细调用过程应用程序iam.c/whoami.c应用程序通过unistd.c展开系统调用执行int 0x80中断int 0x80在idt表中对应着system_call函数编写系统调用的实现代码who.c修改makefile并重新编译内核开机编译应用程序 参考文献 概述 概述:在通常情况下,调用系统调用和调用一个普通的自定义函数在代码上并没有什么区别,但调用后发生的事情有很大不同。调用自定义函数是通过call指令直接跳转到该函数的地址,继续运行。而调用系统调用,是调用系统库中为该系统调用编写的一个接口函数,叫API(Application Programming Interface)。API并不能完成系统调用的真正功能,它要做的是去调用真正的系统调用任务:在 Linux 0.11上添加两个系统调用,并编写两个简单的应用程序测试它们修改的文件: /usr/root/iam.c # 编写应用程序1 /user/root/whoami.c # 编写应用程序2 /usr/root/include/unistd.h # 添加系统调用号以及接口 linux-0.11/kernel/system_call.s # 修改系统调用数 linux-0.11/include/linux/sys.h # 修改table linux-0.11/kernel/who.c # 编写系统调用的实现

2022-01-08 02:55:44   

2021-05-21

苹果证书相关问题 前言 最近项目突然证书到期,导致Xcode无法运行调试。之前对于证书不太了解,本次经历后对证书的问题稍做记录。 一、苹果证书的介绍和申请教程 链接里写的很清楚,有需求的自行查看:https://www.jietusoft.com/faq/detail/262.html 二、苹果证书到期问题处理 1.重新生成证书 打开Xcode项目,General里会提示中直接revoke证书,点击即可自动生成 2.下载最新证书 前往:https://developer.apple.com/account 进行下载最新的证书; (1)开发证书 ( Development Certificates ),主要是授权mac设备的开发权限 (2) 发布证书 (Distribution Certificates ), 主要是授权mac设置发布权限 Certificates:下载iOS Distribution和iOS Development,双击安装; 3.解决“此证书的签发者无效”或“此证书的不受信任” 安装后的证书,若出现不受信任的情况,请下载Apple Worldwide Developer Relations Certification Authority证书解决: (1)下载地址:https://developer.apple.com/certificationauthority

2022-01-08 02:55:40   

理解java关键字final

final: 字面意思,最终、最后。 在java中,继承的出现提高了代码的复用性,并方便开发。但也会带来问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写。可是当子类继承了这些特殊类之后,就可以对其中的方法进行重写,那怎么解决? 要解决上述的这些问题,需要使用到一个关键字final,final的意思为‘最终,不可变’。final是个修饰符,它可以用来修饰类,类的成员,以及局部变量。 final的特点 final修饰类不可以被继承,但是可以继承其他类。 [java] view plain copy class Yy {} finalclass Fu extends Yy{} //可以继承Yy类 class Zi extends Fu{} //不能继承Fu类 final修饰的方法不可以被覆盖,但父类中没有被final修饰方法,子类覆盖后可以加final。 [java]view plaincopy class Fu { // final修饰的方法,不可以被覆盖,但可以继承使用 publicfinalvoid method1(){} publicvoid method2(){} } class Zi extends Fu { //重写method2方法 publicfinalvoid method2(){} } final修饰的变量称为常量

2022-01-08 02:55:34