Linux进程

1.进程

进程:可执行应用程序执行后产生的对应的进程,重量级;进程是由一个线程或多个线程构成;

线程:是计算机中的最小单位,轻量级(依赖和物理性是独立存在的)、损耗较低

假设进程1是由1、2线程组成;进程2是由2、3线程组成;

当进程1启动后,进程2则需等待进程1执行完毕,资源释放后,方可执行;

而当进程1如果一直都不释放资源,则容易造成死锁;

Zombie僵尸进程:

当存在很多僵尸进程说明什么问题:说明模块和模块之间的结构有问题(代码中只写了调用,没有写回收);


Ps –ef—-查询静态进程监控

Kill 进程号—-结束进程

Kill -9 进程号—-强制结束进程

Ps –ef|pgrep “httpd”—-查询httpd的端口号


Top—查询(动态)进程

{Load average:系统当前负载资源;

Tasks:进程数、zombie僵尸进程;

Id :空闲的

Mem:内存;buffer:缓存

Swap:交换分区

在top状态下,输入u:用户;显示指定的用户进程;

输入q:表示退出top状态;


查询进程端口:netstat –ano

Bash csh ksh tcsh

更改shell:chsh –s 目标


符号 解释
~ root目录或宿主目录
表示非
@ 普通链接或者邮箱标识符
# 注释
$ 变量
% 取模
^ 表示不在什么范围之中
& 表示与
* 表示统配
() 表示函数
-+*/ 表示运算符
** 表示幂运算
\ 拖逸符
/ 表示路径
{} 表示枚举
[表达式] 表示的是条件逻辑判定
表示命令引用结束之前
表示语句结束
;; 表示case语句的结束
‘’ 表示字符串
“” 表示
表示命令的引用
> 表示覆盖
>

表示追加
-> 表示链接指向
表示单个字符统配
= 表示赋值
./ 表示执行

linux中的比较预算符等同于批处理中的大于、小于、等于:gtr、lss、equ、neq、geq、leq

#!表示的是bash脚本的开头

| 管道

|| 或


shell脚本

文本文档,针对linux中,单个命令无法进行完成,而是需要多个命令时,就可以将所有命令写到shell脚本中,直接运行shell脚本即可。主要采用的是C语言

注意:Shell脚本—-必须具有可执行的权限,才能被执行

Shell脚本中相关解释

Echo :输出命令(或者使用printf进行输出)

$?:表示验证脚本或者命令是否执行完成,如果结果是0表示执行成功,

如果是其他数字的话,则表示执行不成功。

#! /bin/bash  ---释伴行(声明为:是使用bash脚本的进行执行的)
{}枚举:如果{}中只有一个元素的话,则不会当成是元素,而是被看做一个整体,只有存在多个元素的情况,才会被认定为枚举
举例 :touch {a,b}-{c,d} ----创建四个文件:a-c a-d b-c b-d
[表达式]:实现运算a=$[5+6];(如果a=5+6,会直接当成是字符串输出)
或者:set a=expr 5+6
或者:expr 8 + 9(注意空格)
执行文件方式:./文件 或bash 文件

流程控制语句

If [ 表达式 ] ;then

语句块

Elif [ 表达式 ] ;then

语句块

Else

语句块

Fi

Or

If [ 表达式 ]

then

语句块

Else

语句块

Fi

Case 变量 in

标识符)

语句块

;;

* )

语句块

;;

Esac

#! /bin/bash
Echo “please input a number”
Read x
Echo “please input another number”
Read y
If [ $x –gt $y ] ; then
Echo “x>y”
Elif [ $x –eq $y ] ; then
Echo “x==y”
Else
Echo “x<y”
fi
实现从控制台输入数据:
#! /bin/bash
Echo “please input str”
Read x
Case $x in
Root)
Echo “I am root”
;;
*)
Echo ”nothing”
;;
Esac 循环
For i in `seq 1 10` ----表示按顺序
Do
Echo $i
Done
或者
For((i=0;i<=10;i++))
{
Echo $i
} 计算奇数偶数和

Linux 学习(三)的更多相关文章

  1. Linux 学习 (三) 文件搜索命令

    Linux达人养成计划 I 学习笔记 locate 文件名 搜索速度比较快 只能根据文件名搜索 搜索的是保存在 /var/lib/mlocate 的数据库(每天更新一次) 新建文件需要执行 updat ...

  2. 【Linux学习三】VI/VIM全屏文本编辑器

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.打开关闭文件打开文件:vim /path/to/somefilev ...

  3. Linux学习三:Ubuntu下使用minicom和开发板通信

    备注:如果你是用的是Windows则使用超级终端即可:开始-程序-附件-通讯-超级终端 现在我们在Ubuntu下安装配置minicom: 1.进入ubuntu桌面ctrl+alt+t打开终端 输入:s ...

  4. 【Linux学习三】Linux系统目录架构

    主要包括: ●bin:保存的是可执行文件,二进制,就是命令 ●boot:引导目录,操作系统的启动加载,包含版本内核文件.greb引导程序- ●dev:硬件设备文件,如硬盘.网卡.声卡.终端.显卡,每一 ...

  5. Linux 学习 三, linux 文件结构

    linux 的文件结构 linux 下的bin 目录,包含了常用的命令应用程序 /bin: bin为binary的简写主要放置一些系统的必备执行档例如:cat.cp.dmesg.gzip.kill.l ...

  6. Linux学习(三)-Vi和Vim的区别

    它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.vim的这些优势主要体现在以下几个方面:1.多级撤消我们知道在vi里,按 u只能撤消上次命 ...

  7. linux学习(三)-----linux用户管理、实用指令

    用户管理 基本介绍 说明: 1.Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向 系统管理员申请一个账号,然后以这个账号的身份进入系统. 2.Linux 的用户 ...

  8. linux 学习(三) php相关

    五 php相关 配置文件位置 /etc/apache2/apache2.conf 1禁止列举目录 sudo vi /etc/apache2/sites-enabled/000-default 删除Op ...

  9. linux学习(三) -- lnmp环境切换php版本,并安装相应redis扩展

    原创文章,转载请注明出处   我想配置的环境是ubuntu+nginx+mysql+php+redis,其中php装两个版本,php7和php56 ubuntu+nginx+mysql+php的环境配 ...

  10. linux学习 三 redhat

    1: 查看redhat版本号. 2:   防火墙中加入8080 查看防火墙状态,root用户登录,执行命令systemctl status firewalld 开启防火墙:systemctl star ...

随机推荐

  1. 【CV论文阅读】Detecting events and key actors in multi-person videos

    论文主要介绍一种多人协作的视频事件识别的方法,使用attention模型+RNN网络,最近粗浅地学习了RNN网络,它比较适合用于处理序列的存在上下文作用的数据. NCAA Basketball数据集 ...

  2. java 数据结构. 源代码阅读

    Collections工具类里的 Collections.synchronizedList public static <T> List<T> synchronizedList ...

  3. Unity3D 游戏引擎之C#使用Socket与HTTP连接server数据传输包

    近期比較忙.有段时间没写博客拉.近期项目中须要使用HTTP与Socket.雨松MOMO把自己这段时间学习的资料整理一下. 有关Socket与HTTP的基础知识MOMO就不赘述拉,不懂得朋友自己谷歌吧. ...

  4. Linux系统编程_6_进程环境(C程序典型的存储空间)

    1.八种结束Linux进程的方法: 五种正常终止方式: main函数返回: 调用exit: 调用_exit或_Exit 最后一个线程从其启动例程返回 最后一个线程调用pthread_exit 三种异常 ...

  5. android 特殊符号开头的联系人归并至“#”下

    在PeopleActivity界面.联系人的显示位置是由其display name的第一个字符决定的. 数字开头的联系人会显示在"#"这个header下. 中英文联系人会显示在&q ...

  6. 扩展gcd求解二元不定方程及其证明

    #include <cstdio> #include <iostream> using namespace std; /*扩展gcd证明 由于当d = gcd(a,b)时: d ...

  7. HTTP要点概述:七,编码,压缩传输,分块传输

    一,编码: HTTP 在传输数据时可以按照数据原貌直接传输,但也可以在传输过程中通过编码提升传输速率.通过在传输时编码,能有效地处理大量的访问请求.但是,编码的操作需要计算机来完成,因此会消耗更多的 ...

  8. git如何避免每次pull或者push的时候都要输入用户名和密码?

    git config --global credential.helper store 这个命令则是在你的本地生成一个账号密码的本子似的东东,这样就不用每次都输入了(但是还得输入一次) 这个指令对于w ...

  9. linux下解压zip文件时,文件名乱码的解决(转载)

    转自:http://blog.sina.com.cn/s/blog_6261f8690101c1gx.html windows下的zip文件,在linux下解压时,经常会出现文件名乱码的情况. 主要原 ...

  10. 关于Java泛型的?和 T 的区别

    java中的?号指未知的类型:而T指具体类型 泛型问号(?)未知的类型就是可以指定当前问号(?)所代表的类,可以指定上限(extends)和下限(super) 泛型T指已经具体知道了类型,就是不能指定 ...