linux分享
323笔记
| 磁盘种类有哪些 | 固态硬盘,机械硬盘 |
|---|---|
| linux系统默认有几个终端,如何进行切换 | ctrl+Alt f1-f7 |
| 32位系统可用最大内存是?如何支持更大内存? | 32为最大为4G 换64为的系统 |
| 目前主流的互联网产品基本是BS和CS形式,解释什么意思。 | BS:浏览器/服务器 CS:客户端/服务器 |
| linux如何设置时区为中国时区 | timedatectl set-timi |
| 你用过哪些品牌的linux服务器 | Dell IBM HP |
| 定时任务crontab的配置文件是 | /etc/crontab |
| 如何将文件linux.log改为windows.log,用2个命令实现 | mv linux.log windows.log pc linux.log windows.log |
| 用户jack01登录了机器,直接输入cd命令,进入的目录是 | 家目录 /home/jack01 |
| 如下四个命令哪个可以查看文本内容 | wc cp ls grep grep '$' |
| 问题排错 | troubleshooting |
|---|---|
| 接受 | accept |
| 接收 | receive |
| 监听 | listen |
| 强制 | force |
| 进程 | process |
| 多 | multi |
| 多进程 | multiprocess |
| 脚本 | script |
| 接口 | interface |
资源管理
linux中需要运维去管理,去查看的资源
内存资源 free
计算机程序,都会加载到内存中
cpu再去内存中取数据
cpu资源 top htop glances
cpu计算资源
所有的程序,都是cpu去调度,去计算运行的
磁盘资源 df
可以存储更多的电影,更多文档
比较慢,但是容量大的,机械硬盘,比较便宜,实惠
速度极快,但是容量较小,价格昂贵的,固态硬盘
进程资源 ps pstree pidof
网络资源 lftop
网络数据的,吞吐量
吞,接收到多少的数据
吐,发出去多少的数据
运维就是围着这些资源在工作的。
资源管理器
线程进程
进程是资源单位,(包工头)
线程是工作单位,(打工人)
父亲进程,儿子进程
1. 系统上运行了sshd服务
2. 通过ssh客户端命令,都是去连接这个服务,产生的一堆子进程而已。
pid(进程id)运行系统时就产生了0号进程,然后其他进程都是0号进程创建的子进程,
第一个进程就是pid为0 ,然后通过0号进程fork( )出其他进程
ps去看进程,区分内核进程和用户进程
登录了linux,以及后续的命令执行,进程关系
linux系统启动产生的 1号进程
↓
运行了sshd服务,xxx进程
↓
ssh远程连接,xxx进程
↓
/bin/bash 进程,xxx进程
↓
后续各种命令 ,xxx进程,命令1,命令2,命令3
孤儿进程,僵尸进程
孤儿进程
- 父程由于某原因挂了,代码写的不好,导致生成的一堆儿子进程,没有父亲了,成为了孤儿
- 系统有一个1号进程,等于是一个福利院,去收养这些孤儿进程(1号进程会去接替,管理这些孤儿进程的数据)你就能看到,这些孤儿进程,的ppid,就成了1号进程了。
- 孤儿进程释放后,释放执行的相关文件,数据,以及释放进程id号(系统id号是有固定的数量)
演示孤儿进程,但是需要用代码实现,一般都是代码写的垃圾,才会出现这种情况
# 于超老师教你用python实现,孤儿进程。
# 运行一个python程序,用的是系统自带的python2语法
# 1.touch 创建脚本
# 2.写入代码
# 3. 用python解释器 去读这个程序
[root@yuchao-linux01 ~]# cat guer.py
#coding:utf-8
import os
import sys
import time
pid = os.getpid()
ppid = os.getppid()
print 'im father: ', 'pid: ', pid, 'ppid: ', ppid
son_pid = os.fork()
print('now song_pid is: ',son_pid)
#执行pid=os.fork()则会生成一个子进程
#返回值pid有两种值:
# 如果返回的pid值为0,表示在子进程当中
# 如果返回的pid值>0,表示在父进程当中
if son_pid > 0:
print 'father going die...'
# 让老父亲,主动退出,挂掉
sys.exit(0)
# 保证主线程退出完毕
# 程序延迟了1秒,还在运行中,儿子进程还未挂,成了孤儿
time.sleep(5)
print 'im child: ', os.getpid(),'now my father is: ', os.getppid()
看到如下进程状态,就是僵尸进程
[root@167 ~]# ps -ef|grep 30394
root 30394 30317 0 11:57 pts/1 00:00:00 python jiangshi.py
root 30395 30394 0 11:57 pts/1 00:00:00 [python]
还可以用top命令去看,有几个僵尸进程
管理进程的命令
linux风格的组合参数,一般都是携带短横线
ps -ef
linux标准参数用法
-e # 显示所有进程
-f # 显示进程详细,pid,udi,进程名
-p # 指定pid,显示其信息,如 ps -fp 2609
-C # 指定进程的名字查看,如ps -fC sshd
-U # 指定用户名,查看用户进程信息 ps -Uf wenwen
unix操作系统下,查看进程,用如下不带短横线的参数选项
ps aux
参数解释
参数风格,请注意,参数的位置,存在先后关系,位置错误可能导致无法使用。
# UNIX风格,没有短横线
a # 显示所有终端、所有用户执行的进程
u # 以用户显示出进程详细信息
x # 显示操作系统所有进程信息
f # 显示进程树形结构
o # 格式化显示进程信息,指定如pid
k # 对进程属性排序,如k %mem ,正序排序 ,k -%mem 逆序
--sort,再进行排序,如 --sort %mem 根据内存使用率显示
查看机器上所有的进程! 风格的命令
top
htop
glances