#!/bin/bash starttime=`date +'%Y-%m-%d %H:%M:%S'` #执行程序 endtime=`date +'%Y-%m-%d %H:%M:%S'`start_seconds=$(date --date="$starttime" +%s);end_seconds=$(date --date="$endtime" +%s);echo "本次运行时间: "$((end_seconds-start_seconds))&…
需求描述: 在写shell脚本的时候,会有这样的需求,脚本在执行的过程中是需要传入参数的,如果没有参数传递给脚本, 就会给出相应的脚本使用方法或者例子,告知,脚本后面应该加什么样的参数.所以呢,这里要做的就是如何 知道当前传递给脚本的参数的数量,如果是0个,就执行使用说明的显示. 实现方法: 脚本中通过$#来判断,当前传递给脚本的参数的数量. 测试脚本: #!/bin/bash echo $# 测试过程: 分别传入多个参数,并且执行脚本,查看执行的结果. [root@redhat6 ~]# ./…
Linux脚本执行过程重定向 一.bash调试脚本,并将执行过程重定向到指定文件 bash –x  shell.sh 2>&1 | tee shell.log…
脚本变量简介 变量类型:字符型.数值型.真.假:事先确定数据的存放格式和长度: 变量存放在内存空间: 编译型语言,没有额外的处理逻辑,属于强类型语言: 脚本型语言,可以有解释器控制:所以,可以是弱类型语言: 强类型:变量在使用前,必须事先声明,甚至还需要初始化(给一个初始值,如果没给一个原始值,里面是随机数): 弱类型:变量用时声明,甚至不需要区分类型(默认为字符串): 变量赋值:VAR-NAME=VALUE: bash shell变量类型: 环境变量 本地变量(局部变量),局部变量不一定都是本…
Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机  https://www.cnblogs.com/yuzly/p/10582254.html 脚本实现PXE无人值守网络装机 1.运行脚本: 2.查看dhcp配置文件,看脚本是否成功执行, 3.查看/var/lib/tftpboot目录下是否有如下文件 4.虚拟机新建一个虚拟机,不加载光盘,取消dhcp自动获取,然后开启 5.下图可以看到,正在加载位于远端的tftp站点的内核,引导程序等 源码如下…
引子 跟踪perl和python脚本对文件的访问,实际过程中,perl和python解析器在解析完脚本后,直接关闭了 脚本文件,在进程中查询不到是访问文件的脚本文件名称. shell.perl和python脚本执行过程 bash脚本执行过程 脚本内容: #!/usr/bin/env bash echo `date`" hello world!" >> /root/log.txt 使用strace跟踪脚本执行过程,为了节省篇幅,只保留一些关键执行过程: # strace -q…
结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程 目录 结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程 一. 实验准备 二. 实验过程 I 分析中断上下文的切换 II 分析fork子进程启动执行时进程上下文及其特殊之处 III 分析execve系统调用中断上下文及其特殊之处 IV 以系统调用作为特殊的中断,结合中断上下文切换和进程上下文切换分析Linux系统的一般执行过程 三. 总结 一. 实验准备 详细要求 结合中断上下文切换和进程上下文切换分析Linux…
对于Linux的启动过程,之前一直都是研究到内核运行/sbin/init,启动第一个用户进程为止,因为这部分一直都是在内核态工作,所以对于学习内核还是有帮助的,当时/sbin/init之后的过程也需要明白,今天就总结一下. 首先大体写一下内核从启动到执行/sbin/init的流程: head.S ===> start_kernel ===> rest_init ===> cpu_idle和内核线程init ===>init_post ===> /sbin/init 而init…
shell脚本. 壳,充当一个翻译,让计算机能够认识的二进制程序,并将结果翻译给我们. 加在内核上,可以跟内核打交道的壳. 可以通过/etc/shells 来查看. [root@local ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh 可以增加shell, yum install zsh [root@local ~…
题记:来源与网络和自己工作中总结.有些脚本片段,函数经常使用. 1.判断登录用户 1.1脚本 [devtac@test_1 shell]$ vi check_user.sh #! /bin/sh echo "You are logged in as `whoami`"; if [ `whoami` != devtac ]; then echo "Must be logged in as devtac to run this script." exit fi echo…
原文:http://www.cnblogs.com/Javame/p/3867686.html 1.在两个文件中找出相同的号码 diff -y xx.txt oo.txt | egrep -v "<|>" | awk '{print $2}' 2.打印第几行到第几行之间 cat 1 | awk 'NR==2,NR==4{print}' 1.删除Linux远程用户连接会话 [root@tradx24 logs]# w 10:45:28 up 15 days, 16:23, 4…
一 脚本的创建和执行 1. 创建文件*.sh,文件后缀为sh 2. 编辑脚本 首行必须为:#!/bin/bash   #指定解释脚本的shell 3. 赋权 chmod u+x a.sh 4. 执行 ./a.sh 二 shell脚本中的变量 1.变量的定义与删除 name="hello" #定义变量=前后不能有空格 unset name #删除变量 a. 当前shell中定义的变量只在当前shell有效 b. 不论是普通变量还是环境变量,归根结底都是变量,都遵循变量的基本操作 2.环境…
jmeter进行接口性能测试,占用内存较大,在模拟千万计并发用户时,使用分布式部署进行分压测试. 操作步骤:选择一台机器作为调度机,其他机器作为执行机 一.jmeter分布式部署 前提条件:A.执行机和调度机之间可以互相ping通:B.执行机上要有jmeter且运行jmeter-server(Windows电脑是 jmeter-server.bat,linux/mac是  jmeter-server) C.如果有参数化文件,其他的电脑上放一份,参数化文件放在jmeter的bin目录下就可以不用写…
轮询检测Apache状态并启用钉钉报警◆ #!/bin/bash shell_user="root" shell_domain="apache" shell_list="/root/ip_list" shell_row=`cat $shell_list |wc -l` function trans_text(){ text=$1 curl 'https://oapi.dingtalk.com/robot/send?access_token=b4f…
shell配置文件的作用:初始化环境变量.设置命令提示符.指定系统命令路径等 shell配置文件分类: (1)系统级别配置文件: /etc下,比如/etc/profile./etc/bashrc (2)用户级别配置文件:在用户的家目录下.比如~/.bash_profile,~/.bashrc profile类:设定环境变量.运行命令或脚本(登录时运行的脚本) bashrc类 :设定本地变量.定义命令别名   执行配置文件的顺序: (1)登陆式 --- 通过终端打开shell: 会从/etc/pr…
直接上脚本内容 #!/bin/bash #chkconfig: 2345 80 90 #description:sniffer #第一行,告诉系统使用的shell,所以的shell脚本都是这样. #第二行,chkconfig后面有三个参数2345,80和90告诉chkconfig程序,需要在rc2.d~rc5.d目录下,创建名字为 S80sniffer的文件连接,连接到/etc/rc.d/init.d目录下的的sniffer脚本.第一个字符是S,系统在启动的时候,运行脚本asniffer,就会添…
假设我们现在有两个文件 a.txt .b.txt a.txt 中的内容如下: a c 1 3 d 4 b.txt 中的内容如下: a b e 2 1 5 # Example 01 计算并集: [root@VM_81_181_centos ~]# sort -u a.txt b.txt 1 2 3 4 5 a b c d e [root@VM_81_181_centos ~]# # Exmaple 02 计算交集: [root@VM_81_181_centos ~]# grep -F -f a.t…
有三种: :只是顺序执行,命令之间没有任何关联,不相互影响.如  ls;date;cd /etc/ 如,创建100M的文件. && 命令之间有关系,只有前一条命令正确执行才会执行下面一条.逻辑与 || 逻辑或 只有前一个错误,才执行后面的命令. 如,判断一个命令是否正确执行:命令&&echo yes || echo no.正确执行输出yes,否则no. 管道符:|,也是连接两个命令,但将命令1的正确输出结果作为命令2的操作对象. 如 ls | grep tjc.txt…
问题 云服务器部署web项目,每次正常启动项目后访问页面很久才能有响应,一直卡在INFO: Deploying web application directory ......长达几分钟以上,极度影响体验(云服务器上所有的项目) 上图设置好了之后的截图,没设置之前不止2004ms 原因 linux或者部分unix系统提供随机数设备是/dev/random 和/dev/urandom ,两个有区别,urandom安全性没有random高,但random需要时间间隔生成随机数.jdk默认调用rand…
[刘蔚然 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] WEEK EIGHT(4.11--4.17)进程的切换和系统的一般执行过程 SECTION 1 进程切换的关键代码switch_to的分析 1.进程调度与进程调度的时机分析 进程分类 分类1 I/O-bound:等待I/O CPU-bound:大量占用CPU进行计算 分类2 交互式进程(shell) 实时进程 批处理进程 进程调…
韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.进程切换的关键代码 操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已. 对于理解操作系统的工作机制,反而是进程的调度时机与进程的切换机制更为关键. 1. 进程的调度时机 不同类型的进程有不同的调度需求 (1)第一种分类: I/O-bound 频…
1.脚本的组成和执行 Linux shell脚本的结构并不复杂,其主要由变量.内部命令以及shell的语法结构和一些函数.其他命令行的程序等组成,以下是一个简单的shell脚本. #!/bin/bash #This is a first script echo echo Hello Bash Script! echo 一般使用后缀名“.sh”来表示shell脚本,此脚本中的第一行使用“#!”开头,表明要用/bin/bash来解释和执行这个脚本文件,也可以使用/bin/sh来代替.实际上,/bin…
20135132陈雨鑫 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” 一.进程调度与进程调度的时机分析 1.进程调度 不同类型的进程有不同的调度需求 第一种分类:       I/O-bound            频繁的进行I/O           通常会花费很多时间等待I/O操作的完成     CPU-bound            计算密集型          …
姬梦馨 原创作品 <Linux内核分析>MOOC课程:http://mooc.study.163.com/course/USTC-1000029000 第八讲 进程的切换和系统的一般执行过程 学习笔记 一:进程的调度时机与进程的切换 1:进程调度时机      两种分类 a:I/O-bound 频繁的进行I/O 通常会花费很多时间等待I/O操作的完成 CPU-bound 计算密集型 需要大量的CPU时间进行运算 b:批处理进程(batch process) 不必与用户交互,通常在后台运行,不必…
一.进程切换的关键代码switch_to的分析 (一)进程调度与进程调度的时机分析 1.不同类型的进程有不同的调度需求 第一种分类: I/O-bound:频繁地进行I/O,花费很多的时间等待I/O操作的完成 CPU-bound:计算密集型,需要大量的CPU时间进行计算 第二种分类: 批处理进程 实时进程 交互式进程(shell) 进程调度策略:是一组规则,决定何时以何种方式选择进程. Linux的调度基于分时和优先级策略: 进程根据优先级排队: 这个优先级的值表示如何适当分配CPU: 进程的优先…
进程的切换和系统的一般执行过程 一.进程切换的关键代码switch_to分析 (一)进程调度与进程调度的时机分析 1.不同类型的进程有不同的调度需求 第一种分类: (1)I/O-bound:频繁进行I/O,花费很多时间等待I/O操作的完成. (2)CPU-bound:计算密集型,需要大量CPU时间进行计算. 第二种分类: (1)批处理进程:不必交互.很快响应. (2)实时进程:要求响应时间短. (3)交互式进程(shell). 2.调度策略:是一组规则,它们决定什么时候以怎样的方式选择一个新进程…
一.进程调度与进程切换 1.不同的进程有不同的调度需求 第一种分类: I/O密集型(I/O-bound) 频繁的进行I/O 通常会花费很多时间等待I/O操作的完成 CPU密集型(CPU-bound) 计算密集型 需要大量的CPU时间进行运算 第二种分类: 批处理进程 不必与用户交互,通常在后台运行 不必很快响应 典型:编译程序,科学计算 实时进程 有实时需求,不应被低优先级的进程阻塞 响应时间要短要稳定 典型:视频.音配.机械控制 交互式进程 需要经常与用户交互,所以要花很多时间等待用户输入操作…
LINUX内核分析第八周学习总结——进程的切换和系统的一般执行过程 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.知识概要 (一)进程切换的关键代码switch_to分析 1.进程进度与进程调度的时机分析 2.进程上下文切换相关代码分析 (二)Linux系统的一般执行过程 1.Linux系统的一般执行过程分析 2.Linux系统执行过程中的几个特殊情况 3.内核与舞女 (三…
进程的切换和系统的一般执行过程 一.内容总结与分析 进程调度与进程调度时机 进程调度需求的分类: 第一种分类方式: I/O -bound(频繁进行I/O,通常会花很多时间等待I/O操作) CPU-bound(计算密集型.需要花大量CPU时间进行运算) 第二种分类方式: 批处理进程(后台进行,典型:编译程序.科学计算) 实时进程(有实时需求响应时间短.稳,典型:视频.音频.机械控制) 交互式进程(与用户交互多,响应时间要快,典型:shell.文本编辑程序.图形应用程序) Linux调度基于分时和优…
第八周 进程的切换和系统的一般执行过程 一.进程切换的关键代码switch_to分析 1.进程调度与进程调度的时机分析 不同类型的进程有不同的调度需求 第一种分类: I/O-bound:频繁进行I/O,花费很长时间等待I/O CPU-bound:计算密集型,需要大量CPU时间进行计算 第二种分类: 批处理进程:不必交互.很快响应 实时进程:要求响应时间短 交互式进程(shell) 调度策略:是一组规则,它们决定什么时候以怎样的方式选择一个新进程运行. Linux的进程根据优先级排队 Linux中…