进程管理

上节课复习:

1、软件包分为三类

                               rpm包---》预编译,安装程序
                              源码包---》编译安装
                            二进制包--》编译好的

2、rpm包格式
                       mysql-connector-odbc-5.2.5-8.el7.x86_64.rpm

                       rpm命令:需要自己解决依赖
                       rpm -ivh 软包路径
                       rpm -Uvh 软包路径
                       rpm -e 软包路径

查看安装的软件包:
                              rpm -q 软件包的名字
                              rpm -qa
                              rpm -qi 软件包的名字
                              rpm -ql 软件包的名字(查看、下载哪个软件包)
                              rpm -qc 软件包的名字

                              rpm -qf 文件路径
查看未安装的软件包:
                                 上述选项后加-p


                                  yum命令:自动解决依赖
                                  yum install 软包名 -y
                                  yum install 软包名* -y
                                  yum groupinstall "软件组" -y

                                  yum remove 软包名 -y
                                  yum groupremove "软件组" -y

                                  yum reinstall 软包名 -y

                                  yum history
                                  yum history info id号
                                  yum history undo id号


                                  yum makecache ( 缓存 )
                                  yum clean all

                                  yum provides 文件路径



                                  yum list # 已安装+可安装的
                                  yum grouplist

                                  yum repolist
                              

                                  yum--------------》repo仓库下repodata

yum仓库:
               1、本地仓库  (mkdir /文件夹 )
               2、将相关软件包都采集到一个文件夹下   (cp / /   mkdir创建的文件夹 )
               3、createrepo 文件夹 ---》在文件夹生成一个存放了依赖关系的repodata
               4、修改配置
                                      vim /etc/yum.repos.d/local.repo # 必须是.repo结尾
                      文件内容:
                                      [xxx]
                                      name="描述信息"
                                      baseurl=file://本地路径 # 本地路径的子目录一级必须有一个repodata
                                      enabled=1
                                      gpgcheck=0

                      ps:挂载镜像
                                         mount /dev/sr0 /mnt
                                         mount /dev/cdrom /mnt

                                         mount -o loop 镜像文件的路径 /opt

2、远程仓库: baseepel官方源


                                                  wget

                                                  yum install 网址 -y



3、源码包格式
                       1、编译环境准备
                                                   安装编译器  
                                                   安装依赖库

                                                    yum groupinstall "开发工具" -y
                                                    yum -y install gcc gcc-c++ autoconf automake make
                                                    yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel

2、下载源码包
                        cd /root
                        wget http://nginx.org/download/nginx-1.18.0.tar.gz

3、解压
              [root@web01 ~]# tar xvf nginx-1.18.0.tar.gz -C /tmp/


4、配置-》生成makefile文件
                                              cd /tmp/nginx-1.18.0/
                                              ./configure --prefix=/usr/local/nginx-1.18.0

                              如果报错:
                                              先执行make clean all
                                              再安装好提示的依赖库

                                               然后重新执行4的步骤

5、编译安装
                     make  
                     make install 

                    # make && make install   (/nginx-1.18.0)

6、清理安装包
                        rm -rf /tmp/nginx-1.18.0

7、启动测试
                   [root@web01 nginx-1.18.0]# useradd www
                   [root@web01 nginx-1.18.0]# /usr/local/nginx-1.18.0/sbin/nginx
                   [root@web01 nginx-1.18.0]#
                   [root@web01 nginx-1.18.0]#
                   [root@web01 nginx-1.18.0]#
                   [root@web01 nginx-1.18.0]# ps aux |grep nginx
                   root 8957 0.0 0.0 20564 616 ? Ss 09:59 0:00 nginx: master process /usr/local/nginx-1.18.0/sbin/nginx
                   www 8958 0.0 0.1 23084 1380 ? S 09:59 0:00 nginx: worker process
                   root 8960 0.0 0.0 112824 976 pts/0 S+ 09:59 0:00 grep --color=auto nginx

                   打开浏览器:输入服务器的IP地址,看到欢迎界面即可

今日内容: 进程管理
                               1、进程概念

                               2、查看进程信息
                                     ps aux
                                     ps -elf

                                     pstree

                                     top   (ps aux功能一样  可以查看 cpu )


3、管理进程
                   1、优先级设置
                   2、给进程发信号
                         kill (杀掉 进程)
                   3、HUP信号-》如何让进程脱离当前终端运行
                         nohup
                         setsid
                         在子shell中提交任务
                          screen命令
4、查看网络状态
5、proc文件系统
                           查看硬盘状态
                           df

                           查看内存状态
                           free # /proc/meminfo

                           查看cpu状态
                           lscpu # /proc/cpuinfo


6、管理后台进程(了解)
                               jobs
                                bg
                                fg

7、管道
             补充:tee

8、僵尸进程与孤儿进程


一 进程概念
                   程序——》代码文件
                   进程-》
                   描述方式1:程序的运行过程
                   描述方式2:操作系统控制着硬件去运行程序的过程

                   进程是操作系统最核心的概念

                   并发:多个任务看起来是同时运行的即可

                   并行:多个任务是真正的同时运行
                   只有多核才能实现并行

                   线程:进程内代码的执行过程
                   线程才是cpu上的执行单位
                   一个进程内至少有一个线程

                   强调:cpu是运行代码,不是做io的



                     一个进程的多个线程共享该进程的内存资源
                     不同进程的多个线程的内存资源互相隔离


任务的三种运行状态
                                运行态
                                就绪态
                                阻塞态

ps:非阻塞与阻塞

                             提交任务的方式:
                                                        同步
                                                        异步

二、查看进程信息
                              ps aux
                              ps -elf  (父进程与子进程)

                              pstree

                              top (ps aux功能一样  可以查看 cpu )

原文地址:https://www.cnblogs.com/dachangtui/p/13922116.html