运行命令

Linux strace命令

我怕爱的太早我们不能终老 提交于 2019-11-27 05:07:48
简介 strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。 输出参数含义 root@ubuntu:/usr# strace cat /dev/ null execve( " /bin/cat ", [ " cat ", " /dev/null "], [ /* 22 vars */]) = 0 brk( 0) = 0xab1000 access( " /etc/ld.so.nohwcap ", F_OK) = - 1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, - 1, 0) = 0x7f29379a7000 access( " /etc/ld.so.preload ", R_OK) = - 1 ENOENT (No such file or directory) ... brk( 0) = 0xab1000 brk( 0xad2000) = 0xad2000 fstat(

容器探路-Docker镜像和runtime

…衆ロ難τιáo~ 提交于 2019-11-27 03:42:08
一、什么是容器 容器:是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。 组成:1、应用程序本身,2、依赖:比如应用程序需要的库或其他软件 二、为什么使用容器 容器和虚机都是为应用提供封装和隔离,但是 容器使软件具备了超强的可移植能力 。虚机:每一个虚机都需要安装一个操作系统,每个操作系统都有kernel,每一个kernel都依赖硬件,而docker仅依赖于库(目前kernel几乎都是X86指令架构),所以虚机内核和host内核是一样的(uname -r) 三、怎么学习和使用docker 1、容器核心架构-组件:Docker 采用的是 Client/Server 架构 a、Docker 客户端 - Client b、Docker 服务器 - Docker daemon c、Docker 镜像 - Image d、Registry e、Docker 容器 - Container 2、镜像 一个image由 manifest 、 image index (可选)、 filesystem layers 和 configuration 四部分组成。 先来看看构成image的四部分的关系图: Filesystem Layer包含了文件系统的信息

jstat命令并获取JVM运行信息

╄→гoц情女王★ 提交于 2019-11-27 03:18:03
jstat命令并获取JVM运行信息 先来了解一下java.lang.management包的基本信息,提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 下面代码就是使用了该软件包的类,获取当前运行的java程序的pid,然后运行jstat命令获取jvm的运行信息, package com.usoft.sort; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.lang.management.ManagementFactory; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by xinxingegeya on 16/4/12. */ public class JstatMain { /** * S0 — Heap上的 Survivor space 0 区已使用空间的百分比 * S1 — Heap上的 Survivor space 1 区已使用空间的百分比 * E — Heap上的 Eden space

Linux中运行SpringBoot项目,永久运行

一个人想着一个人 提交于 2019-11-27 02:43:31
将写好的springboot项目打成jar包: 项目右键 -- Run As -- Maven build... ---此时出现下图 1.Goals 中填写:install 2.Skip Tests复选框勾上 3.点击Run运行 在项目中target中出现项目的jar包,将jar包放入Linux系统中,在同级目录下执行命令: java -jar xxx.jar xxx.jar就是你的jar包,出现Tomcat started on port(s): 8081 (http)这样项目就运行成功。 但是这样启动方式在关闭客户端项目就停止了,当你的项目需要永久的运行的时候,就需要使用下面的方法 nohup java -jar xxx.jar > system.log 2>&1 & 运行命令后,在同级目录下会出现system.log文件,这个文件就项目的日志文件。 使用命令:ps -a可以查看Java程序运行的进程号,用于停止程序,不过当程序有好几个的时候,用命令:ps -ef|grep java这个命令会将搜索Java相关的所以进程号,根据jar包名称找到需要停止的进程号,使用命令:kill -9 11759杀死进程,11759是进程号。(PS:杀死进程时一定要注意不要看错了进程号,以免杀错!!) 来源: https://www.cnblogs.com/createhappy/p

Docker

橙三吉。 提交于 2019-11-26 23:04:45
Docker 是什么? Docker 是一种虚拟化的容器, 隔离了文件系统、网络互联和进程 等等,但比之传统的虚拟化技术,精简了内核和硬件的虚拟,容器内的应用进程直接运行在宿主内核。 安装 macOS (1)Homebrew 安装 > brew cask install docker (2)下载安装 Docker.dmg 下载 Ubuntu 16+ (1)测试环境使用一键自动安装脚本 > curl -fsSL get.docker.com -o get-docker.sh > sudo sh get-docker.sh --mirror Aliyun (2)按部就班安装 # 添加使用 HTTPS 传输的软件包以及 CA 证书 > sudo apt-get update > sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common # 添加软件源的 GPG 密钥 > curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add - # 向 source.list 中添加 Docker 软件源 > sudo add-apt-repository

文件或目录损坏且无法读取的解决办法

微笑、不失礼 提交于 2019-11-26 21:53:12
方法很简单,用chsdsk命令即可 详解如下: 开始--运行--输入cmd--输入chkdsk 盘符: /f ,例如:“chkdsk d: /f”。 等命令运行完即可。 这里要注意的是,那个冒号后面要空一格,别跟着就写"/f" 故障现象 不管是移动硬盘还是U盘,包括本地电脑上的硬盘分区,双击打开时,提示:“无法打开H盘 ,文件或目录损坏且无法读取,....”。有的分区格式变为RAW。 数据丢失原因分析 出现这种错误提示,是由于各种原因导致的磁盘文件目录(FAT,MFT)出错造成。主要发生在优盘、MP3、移动硬盘等移动设备上,其中大容量(160G以上)NTFS分区格式的外置移动硬盘发生几率最高最多。产生的原因很多,一般有下面几种原因: 1、没有正常插拔移动设备,系统没有完成完整的读写操作,致使文件目录信息错乱和不完整。比如我们复制一个文件到移动设备,关机重启、拔取后,再次打开使用或到别的电脑上使用时出现症状。 2、选用了劣质产品,包括劣质电源、主板、数据线、特别是劣质外置硬盘盒。产品的电源、主控电路不稳定,致使磁盘寻址出错,写信息错乱。 3、使用了PQ、PM等磁盘分区调整工具。 4、病毒、硬盘硬件本身故障、工作期间突然停电。 恢复效果质量 如果是大移动硬盘并且是NTFS分区格式的,恢复质量十分理想,基本都能成功恢复文件和目录结构。 如果是FAT或FAT32格式,根据损坏程度不同

Linux中长时间运行程序的方法

无人久伴 提交于 2019-11-26 21:14:17
一、场景: 如果临时有一个命令需要长时间运行,比如 python hello.py ,什么方法能最简便的保证它在后台稳定运行呢? 解决方法: 当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。 因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。 二、nohup nohup 无疑是我们首先想到的办法。顾名思义,nohup 的用途就是让提交的命令忽略 hangup 信号。 只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上"&"来将 命令同时放入后台运行 nohup python hello.py & 来源: https://www.cnblogs.com/zongfa/p/11333589.html

【git】git常用操作

大城市里の小女人 提交于 2019-11-26 21:05:21
参考文章 1、 获取帮助 有这三种方法 $ git help <verb> $ git <verb> --help $ man git-<verb> 2、 取得项目的git仓库 初始化一个新仓库 git init 用Xcode的同学就不要勾选Xcode自带的git了。//TODO:如果勾选了会怎样,测试一下 克隆一个仓库 git clone [url] (不像其他CVS的 checkout )如克隆Ruby语言的git代码仓库Grit: $ git clone git://github.com/schacon/grit.git 这会在当前目录下创建一个名为 grit 的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录,然后从中取出最新版本的文件拷贝。如果希望在克隆的时候,自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字: $ git clone git://github.com/schacon/grit.git mygrit 3、 记录每次更新到仓库 请记住,工作目录下面的所有文件都不外乎这两种状态: 已跟踪或未跟踪 。 已跟踪的文件 是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区。剩下的属于 未跟踪文件 。它们既没有上次更新时的快照,也不在当前的暂存区域。

linux 后台 运行

泄露秘密 提交于 2019-11-26 21:03:27
但是如果终端关闭的话,程序也会终止,那么就要涉及到linux的一个十分强大的命令:screen。 按照我个人的理解,这个命令就是能够在linux中创造出多个终端,在已有的窗口内部再创造更多的窗口,结合命令符号$,能够让内部终端保持在Linux的后台运行,而不会因为终端的关闭而关闭。(个人linux才刚刚入门,可能理解不是特别深入,大家可以看看更多的攻略) 所以只需用命令: screen python3 auto_wechat.py $ 即可保持程序一直在服务器后台运行。 screen ls 即可看见后台运行的screen进程 来源: https://www.cnblogs.com/clemente/p/11333307.html

docker容器的学习笔记

纵饮孤独 提交于 2019-11-26 20:02:31
目录 Docker入门学习笔记(一) 1. 什么是Docker? 2. Docke的目标 3. Docker通常应用场景 4. Docker的基本组成 补:Docker容器相关技术简介 安装Docker 5. Docker基本操作 运行容器 启动交互式容器: 查看容器: 自定义容器名: 重新启动已经停止的容器: 删除停止的容器:(不能用于删除运行中的容器) 6. 守护式容器 以守护形式运行容器 附加到运行中的容器(重新进入正在运行的容器) 启动守护式容器(最重要的方式) 查看容器日志(可以看到容器运行的情况) 查看运行中容器的进程情况 在运行中的容器内启动新进程 停止守护容器 使用docker帮助文档 7. 在容器中部署静态网站 设置容器的端口映射 Nginx部署静态网页流程 Docker入门学习笔记(二) 8. 镜像的相关操作 Docker镜像: 列出镜像: 查看镜像 删除镜像 查找镜像 拉取镜像 推送镜像 构建镜像 9. Docker守护进程的配置和操作 查看守护进程 使用service命令管理 Docker的启动选项(守护进程即服务器的启动选项,详细的选项) docker启动配置文件:/etc/default/docker Docker入门学习笔记(三) 10. Docker的远程访问 环境准备: 修改服务器端配置以使服务器支持远程访问 远程访问 docker客户端远程访问