技术文章

top命令详解

◇◆丶佛笑我妖孽 提交于 2021-02-20 08:52:24
                 top命令详解                                      作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 [root@node101.yinzhengjie.org.cn ~ ]# top top - 23 : 24 : 47 up 1 : 14 , 3 users, load average: 0.00 , 0.01 , 0.03 Tasks: 165 total, 1 running, 164 sleeping, 0 stopped, 0 zombie            #任务相关信息:从左到右依次是,总共进程数,正在运行到进程数,增在休眠到进程数,结束的进程数,僵尸进程数。 %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id , 0.0 wa, 0.0 hi, 0.0 si, 0.0 st      #CPU相关信息:从做到有依次是,用户态,内核态,nice的优先级,cpu空闲,等待I/O,硬中断,软中断(切换模式),虚拟机偷走的时间(虚拟机CPU占用宿主机CPU百分比)。 KiB Mem : 8007404 total, 7602968 free , 114640 used, 289796 buff/ cache KiB Swap: 2064380

Jenkins安装与配置

怎甘沉沦 提交于 2021-02-20 08:51:52
Jenkins安装 在最简单的情况下, Jenkins 只需要两个步骤: 1. 下载最新的版本(一个 WAR 文件)。 Jenkins 官方网址 : http://Jenkins-ci.org/ 2. 运行 java -jar jenkins.war 注意: Jenkins 需要运行 Java 5 以及以上的版本。 还有一种安装方式就是将下载的 war 包文件部署到 servlet 容器,然后启动容器,在浏览器的 URL 地址栏中输入类似 http://localhost:8080/jenkins/ 这样的地址即可。下图是安装成功后的界面(使用的是 Linux+Tomcat6+Java6 环境): 图2 Jenkins 主界面 3 Jenkins配置 写在配置前的一些话:Jenkins 的配置不可能全部都说到的,大部分配置是有英文说明的,点击输入框后面的问号就可以看见了。英文不会用翻译工具,连蒙带猜的,多测试几次,你就懂了。 3.1 系统管理 在已运行的 Jenkins 主页中,点击左侧的系统管理进入如下界面: 图3 Jenkins 系统管理 3.1.1 提示信息 Ps :版本不同提示的消息有可能不同 3.1.1.1 Utf-8编码 Your container doesn't use UTF-8 to decode URLs. If you use non-ASCII

Tomcat介绍---SSL

别说谁变了你拦得住时间么 提交于 2021-02-20 08:50:57
一. WEB相关 容器:实现了什么规范的服务器就称为什么容器 常见的web容器:webLogect JBOSS Tomcat 二. Tomcat安装及启动 安装路径不能有空格及中文字符、特殊字符 安装后需配置JAVA_HOME环境变量,指定为jdk的安装根目录。 不能启动的原因: 1. JAVA_HOME路径后不能有;号,会导致启动是一闪而过。 2. 端口占用问题,可用netstat –nao查看目前使用的端口。 修改端口:server.xml CATALINA_HOME环境变量:当有多个Tomcat服务器存在时,如果设置了CATALINA_HOME环境变量,所有的Tomcat启动的都是此变量指定的Tomcat。 三. Tocmat目录结构 bin:存放启动或管理Tomcat的一些脚本 conf:存放Tomcat的配置文件。 lib:Tomcat运行依赖的jar包(能被受管理的所有应用访问) logs:存放Tomcat的日志 webapps:存放JavaWeb应用。(该目录中的每一个文件夹代表一个JavaWeb应用) work:Tomcat的工作目录 四. JavaWeb应用的标准目录结构 MyApp 应用名称 WEB-INF 必须有,大写一致,放入此目录的资源隐藏,外部只能间接的访问 classes 存放class文件 lib 存放该应用所要用到的jar包 web.xml

AQS源码复习笔记

血红的双手。 提交于 2021-02-20 08:50:25
仅为个人复习笔记,格式之类的未调整,明天抽空再整下。 1、acquire函数 // 首先调用子类的tryAcquire函数,执行具体的操作 // 如果失败了,执行addWaiter 加入阻塞队列尾部 // 接着执行acquireQueued 尝试再次检查前面的线程是不是完事了,自旋再尝试一下 public final void acquire(int arg) { if (!tryAcquire(arg) && acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) selfInterrupt(); } // 这个函数的特点,就是会设置一个哨兵节点,负责放哨,比如说标记下后面的节点是不是有需要唤醒的, // 如果后面是有节点需要唤醒的 那么这个哨兵节点的值就是SIGAL private Node addWaiter(Node mode) { Node node = new Node(Thread.currentThread(), mode); // Try the fast path of enq; backup to full enq on failure Node pred = tail; if (pred != null) { node.prev = pred; if (compareAndSetTail(pred, node)) {

移动端的弹窗滚动禁止body滚动

心不动则不痛 提交于 2021-02-20 08:41:23
本文转载于: 专业的前端网站 ➼ 移动端的弹窗滚动禁止body滚动 前言 最近一个需求是弹窗展示列表,显然是需要一个滚动条的,而滚动到底部就会穿透到body滚动,而阻止默认行为是不行的,这样两个都滑动不了 所以我在点击出现弹窗的时候在body加了以下css让它没有滚动效果 $("body").css({ overflow:"hidden", height:"100%" }); 但是这样又出来一个问题,会在弹窗出来的时候body直接回到顶部,显然不是我愿意要的,所以这时候就需要让body显示在之前的高度,所以我们可以获取点击时body被卷去的高度bodyScroll= \(("body").scrollTop();并且给body定位,就可以实现我们所需要的了 ```JavaScript var bodyScroll=\) ("body").scrollTop(); $("body").css({ overflow:"hidden", position:'fixed', top:-bodyScroll }); 关闭弹窗的时候在恢复之前的就可以了,并且滚动到原先的位置 JavaScript $("body").css({ 'overflow':'auto', 'position': 'static', 'top': 'auto' }); $("body").scrollTop

9、Docker私有registry

心不动则不痛 提交于 2021-02-20 08:41:00
Docker Registry分类 Docker 默认是使用https的,但是如果在自己得私有局域网中,你指明使用http也是可以的。 Registry主要的作用是托管镜像; 运行docker registry的方式一: registry运行在容器中,容器的文件是随着容器的消息而被删除。所以要为registry定义一个存储卷,这个存储卷不要放在docker host本地,而是要使用网络存储。 运行docker registry的方式二 演示: 注意在node2上创建 [root@node2 ~]# yum info docker-registry //查看registry的版本号 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base : mirrors. 163 .com * epel: mirror.lzu.edu.cn * extras: mirrors. 163 .com * updates: mirror.lzu.edu.cn Available Packages Name : docker - registry Arch : x86_64 Version : 0.9 . 1 Release : 7 .el7 Size : 123 k Repo : extras / 7

汇编语言-环境搭建

点点圈 提交于 2021-02-20 08:40:30
MS-DOS环境安装 安装Vmware,并下载MS-DOS镜像。(AMD要启用SVM) 安装MS-DOS镜像 一路Next,重装完毕后会报错 这是BIOS启动设置的问题,按CTRL+ALT+INSERT重启虚拟机,在vm出现logo时按F2(把握好时间,多试几次),进入BIOS设置,向右键(→)切换到Boot栏,向下键(↓)选择到CD-ROM Drive(变白即为选中),然后按SHIFT和加号(+),将其移动到最顶端。向右键(→)切换到Exit栏,选中“Exit Saving Changes”,按两次回车,保存设置并重启。 继续一路Next,然后这一步不选择“Install Add-Ons”(在选项上按空格即可取消选择),“Next” 这一步选择“Enable both UMB and EMS” 选择“Load both” 选择“Use default” 选择“Continue” 然后会提示你是否重启,在重启之前,将连接改为使用物理驱动器,然后重启,不然会一直重装。 重启成功 masm和link编译文件 DOS本身并没有自带这两个软件,需要我们将masm这个文件夹放到DOS里面。先关闭DOS,然后右键进入设置,选择“硬盘”,在右面的“硬盘实用工具中”,点击“映射”。去掉“以只读模式打开文件”的选择,点击确定。 这时会自动打开该磁盘(如果没打开在我的电脑中可以找到该磁盘)

通达OA最新RCE漏洞分析

∥☆過路亽.° 提交于 2021-02-20 08:39:59
powered by UnicodeSec poc请私信 如果需要复现并搭建本地环境,请关注公众号,后台发送通达OA,或者私信 通达OA任意文件上传并利用文件包含导致RCE分析 通达OA(Office Anywhere网络智能办公系统)是由北京通达信科科技有限公司自主研发的协同办公自动化软件,是与中国企业管理实践相结合形成的综合管理办公平台。 漏洞简介 3月13日,通达OA在官方论坛发布通告称,近日接到用户反馈遭到勒索病毒攻击,提示用户注意安全风险,并且于同一天对所有版本发布了加固补丁。 漏洞分析 文件上传 ispirit/im/upload.php 要上传首先需要绕过登陆验证,在本系统中auth.php是登陆验证的相关逻辑,但在upload.php未修复前,如果$P非空就不需要经过auth.php验证即可执行后续代码。利用此处逻辑漏洞可绕过登陆验证直接上传文件。 因上传后的文件不在根目录,所以无法直接利用,因此需要进行文件包含 文件包含 ispirit/interface/gateway.php 未修复前,可通过精心构造json进入47行的includ_once进行文件包含。官方在补丁中增加了对".."的过滤防止用户读取其他目录文件。 修复建议 及时安装官方补丁 参考链接 http://club.tongda2000.com/forum.php?mod=viewthread

python中json.load()、json.loads()、json.dump()、json.dumps()的区别

生来就可爱ヽ(ⅴ<●) 提交于 2021-02-20 08:39:37
json.load()从文件中读取json字符串 json.loads()将json字符串转换为字典类型 json.dumps()将python中的字典类型转换为字符串类型 json.dump()将json格式字符串写到文件中 1.json.load() with open( ' text.json ' , ' r ' ,encoding= ' utf-8 ' ) as f : print(json.load(f)) { "name": "anthony", "sex": "man" } 2.json.loads() #定义字典类型字符串 content = '{"name":"anthony","sex":"man"}' print type(json.loads(content)) print json.load(content) <class 'dict'> {"name":"anthony","sex":"man"} 3.json.dumps() content = {"name":"anthony","sex":"man"} print type(json.dumps(content)) print json.dump(content) <class 'str'> '{"name":"anthony","sex":"man"}' 4.json.dump() content