进程管理

入门linux基础之进程管理篇

南笙酒味 提交于 2020-02-28 06:05:27
进程是已启动的可执行程序的运行实例,进程有以下组成部分: • 已分配内存的地址空间; • 安全属性,包括所有权凭据和特权; • 程序代码的一个或多个执行线程; • 进程状态。 程序: 二进制文件,静态 /usr/bin/passwd ,/usr/sbin/useradd 进程: 是程序运行的过程, 动态,有生命周期及运行状态。 每个新进程分配一个唯一的进程ID(PID) 任何进程都可以创建子进程 以一个进程为例 ps aux | head -2 ps a 显示现行终端机下的所有程序 。 ps u 以用户为主的格式来显示程序状况。 ps x 不以终端机来区分。 进程排序 (以CPU占比降序排列) ps aux --sort%cpu (减号为降序) 查看进程的父子关系 ps -ef 自定义查看 ps axo 例:ps axo user,pid | tail -1 使用信号控制进程 给进程发送信号(kill -l列出所有支持的信号) kill -l 编号 信号名 SIGHUP 重新加载配置 SIGINT 键盘中断Ctrl+C SIGQUIT 键盘退出Ctrl+\,类似SIGINT SIGKILL 强制终止,无条件 SIGTERM 终止(正常结束),缺省信号 SIGCONT 继续 SIGSTOP 暂停 20)SIGTSTP 键盘暂停Ctrl+Z end 886 来源: CSDN 作者:

Linux的进程管理

本秂侑毒 提交于 2020-02-27 18:29:12
copy from : http://gityuan.com/2017/08/05/linux-process-fork/ 基于Kernel 4.4源码 kernel/include/linux/sched.h kernel/include/linux/kthread.h kernel/arch/arm/include/asm/thread_info.h kernel/kernel/fork.c kernel/kernel/exit.c kernel/kernel/sched/core.c 一. 概述 Linux创建进程采用fork()和exec() fork: 采用复制当前进程的方式来创建子进程,此时子进程与父进程的区别仅在于pid, ppid以及资源统计量(比如挂起的信号) exec:读取可执行文件并载入地址空间执行;一般称之为exec函数族,有一系列exec开头的函数,比如execl, execve等 fork过程复制资源包括代码段,数据段,堆,栈。fork调用者所在进程便是父进程,新创建的进程便是子进程;在fork调用结束,从内核返回两次,一次继续执行父进程,一次进入执行子进程。 1.1 进程创建 Linux进程创建: 通过fork()系统调用创建进程 Linux用户级线程创建:通过pthread库中的pthread_create()创建线程 Linux内核线程创建:

linux 进程管理

本秂侑毒 提交于 2020-02-21 18:22:35
1、打印进程 [root@localhost program_test]# ps -e | head PID TTY TIME CMD 1 ? 00:00:03 init 2 ? 00:00:00 kthreadd 3 ? 00:00:00 migration/0 4 ? 00:00:00 ksoftirqd/0 5 ? 00:00:00 migration/0 6 ? 00:00:00 watchdog/0 7 ? 00:00:00 events/0 8 ? 00:00:00 cgroup 9 ? 00:00:00 khelper 2、top 占用CPU最多的进程列表 [root@localhost program_test]# top top - 23:45:17 up 1:12, 5 users, load average: 0.00, 0.00, 0.00 Tasks: 153 total, 1 running, 143 sleeping, 9 stopped, 0 zombie Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.3%hi, 0.0%si, 0.0%st Mem: 1030528k total, 377184k used, 653344k free, 32588k buffers Swap:

Windows下的cmd小技巧

*爱你&永不变心* 提交于 2020-02-18 03:37:13
Windows下的cmd小技巧 文章目录 Windows下的cmd小技巧 工具 信息 关机 进程管理 网络 文件 工具 calc //计算器 osk //屏幕键盘 explorer //文件管理器 notepad //打开记事本 信息 control //控制面板 winver //查看windows版本 systeminfo //此 PC全部信息 tree C: //以树形方式扫描C盘文件 关机 shutdown -s -t 00 //-s 关机 -t 时间 0即立刻关机 shutdown -r //重启 shutdown -a //取消关机 进程管理 taskmgr //任务管理器 tasklist //查看当前应用列表(包含pid码) taskkill /pid xxxx -f //关闭pid为xxxx的应用(及其子进程) taskkill /f /t /im xxx.exe //关闭xxx应用 网络 ipconfig /all //查看IP信息 netsh wlan show profile //查看所有连接过的wifi netsh wlan connect name="xxx" //连接wifi(xxx) netsh wlan show profile name="xxx" key=clear //查看wifi(xxx)的密码,clear表示以明文方式显示 net

[进程管理]linux 下 进程和线程的区别(baidu 面试)

帅比萌擦擦* 提交于 2020-02-17 15:37:28
进程是程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集。 从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位 。 线程是进程的一个 执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位 。一个进程由几个线程组成(拥有很多相对独立的执行流的用户程序共享应用程序的大部分数据结构),线程与同属一个进程的其他的线程共享进程所拥有的全部资源。 "进程——资源分配的最小单位,线程——程序执行的最小单位" 进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。 总的来说就是: 进程有独立的地址空间,线程没有单独的地址空间(同一进程内的线程共享进程的地址空间) 。(下面的内容摘自 Linux下的多线程编程 ) 使用多线程的 理由之一 是和进程相比,它是一种非常"节俭"的多任务操作方式。我们知道,在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵

Linux进程管理篇-运维工程师的自我救赎

对着背影说爱祢 提交于 2020-02-16 23:47:56
Linux进程管理 概要 一、进程管理简介 1. 概念 2. 目的 二、进程的查看-ps和pstree命令 1. ps的两组命令 2. pstree命令 三、进程的查看-top命令 四、杀死进程-kill killall和pkill命令 1. kill -l 2. kill -1 PID 和 kill -9 PID 3. killall [选项][信号] 进程名字 4. pkill [选项][信号] 进程名字 五、进程优先级管理-nice命令 概要 本文围绕Linux进程管理,对进程管理的目的,常用命令,包括ps、top、kill、nice等进行了介绍和分析。 一、进程管理简介 1. 概念 下面这句话是百度搜到的进程定义: 进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源 。 个人理解的进程: 每个运行的程序或服务都会产生一个或多个进程 。 2. 目的 1)判断服务器的健康状态,常用命令top 2)查看系统中的所有进程,常用命令ps pstree 3)杀死指定进程,常用命令kill killall pkill 4)管理进程优先级,常用命令nice 二、进程的查看-ps和pstree命令 1. ps的两组命令 ps aux #查看系统所有进程,使用BSD操作系统格式 ps -le #查看系统所有进程,使用Linux标准命令格式

11、进程管理

落花浮王杯 提交于 2020-02-05 14:00:05
1.显示系统执行过程 使用命令:ps -aux -a:显示所有的进程 -u:已用户的格式显示用户信息 -x:显示后台运行的参数 参数说明: USER:用户名 PID:进程编号 %CPU:进程占CPU的百分比 %MEM:进程占物理内存的百分比 VSZ:进程占虚拟内存的大小 RSS:进程占物理内存的大小 TTY:终端缩写 STAT:进程状态s 表示睡眠,r表示运行, START:进程状态 TIME:CPU时间,既进程使用的CPU时间 COMMAND:启动进程的命令 2.看进程的父进程 查看进程的父进程:ps -ef -e 产看所有的进程 -f 全格式 PPID:表示就是父进程 3.产看进程树 pstree -p 进程号 pstree -u 用户名 来源: CSDN 作者: 尼古拉斯丶六六 链接: https://blog.csdn.net/weixin_43443216/article/details/104179753

并发编程

Deadly 提交于 2020-02-01 01:12:22
目录 并发编程 并发编程 什么是进程 进程与程序 PID和PPID PID PPID 并发与并行,阻塞与非阻塞 进程相关理论知识 进程的创建 进程的销毁 进程的层次结构 python中开启子进程的两种方式 进程间内存相互隔离 join()函数 Process对象的常用属性 孤儿进程与僵尸进程 什么是亚索进程 什么是僵尸进程 僵尸进程的危害 并发编程 并发编程 并发指的是多个任务同时被执行,并发编程指的是编写出支持多任务并发的应用程序所在. 在我们写的TCP通讯中,服务器建立连接后需要一个循环来重复收发文件和下载文件的过程,但是服务器并不知道客户端会在什么时候发来数据,这样服务器就会一直处在于一个等待的状态,此时的服务器无法与外界客户端相连接,所以并发编程就应运而生了,并发编程的原理就是让程序处理多个任务,且多个任务可同时运行 什么是进程 进程指的是正在运行的程序,一台电脑可以同时运行多个进程,这些同时运行的进程是由操作系统来统一分配资源,那么在运行多个程序的电脑就是在多进程进行任务 进程指的是并发的一种方式,在学习并发变成之前要先了解进程的基本概念以及多进程的实现原理,这就不得不提到操作系统了,因为进程的概念来自于操作系统,指的是在操作系统中运行的程序 进程与程序 程序是正在运行的程序,也就是一堆代码,当它被加载到CPU中去执行的时候,就有了进程这个概念 需要注意的是

php-fpm的执行方式 (进程管理模式)

£可爱£侵袭症+ 提交于 2020-01-31 00:09:40
php-fpm的进程数可以根据设置分为动态和静态。 静态:直接开启指定数量的php-fpm进程,不再增加或者减少; 动态:开始的时候开启一定数量的php-fpm进程,当请求量变大的时候,动态的增加php-fpm进程数到上限,当空闲的时候自动释放空闲的进程数到一个下限。 这两种不同的执行方式,可以根据服务器的实际需求来进行调整。 这里先说一下涉及到这个的几个参数吧,他们分别是pm、pm.max_children、pm.start_servers、pm.min_spare_servers和pm.max_spare_servers。 pm表示使用那种方式,有两个值可以选择,就是static(静态)或者dynamic(动态)。在更老一些的版本中,dynamic被称作apache-like。这个要注意看配置文件给出的说明了。 下面4个参数的意思分别为: pm.max_children:静态方式下开启的php-fpm进程数量。 pm.start_servers:动态方式下的起始php-fpm进程数量。 pm.min_spare_servers:动态方式下的最小php-fpm进程数量。 pm.max_spare_servers:动态方式下的最大php-fpm进程数量。 如果dm设置为static,那么其实只有pm.max_children这个参数生效。系统会开启设置的数量个php-fpm进程。

进程管理

拟墨画扇 提交于 2020-01-30 13:34:13
一.什么是进程(process) 1)进程与程序 触发任何一个事件时,系统都会将它定义为一个进程,并且给这个进程一个ID,称为PID。 程序: 一般是放置在物理磁盘或其他存储媒介中(以物理文件的形式存在),然后通过用户的执行来触发。触发后加载到内存中成为一个个体,就是进程。(内存中的数据都是写入到/proc/*这个目录下) 进程: 程序被触发后,执行者的权限与属性、程序的代码与所需数据等都会被加载到内存中,操作系统给予这个内存中的单元一个标识符(PID),可以说进程是一个正在运行中的程序。 之前说过的衍生出来的进程,在bash环境下执行命令而触发的进程为子进程,原bash的进程为父进程,父进程的ID为PPID(Parent PID) fork and exec:程序调用的流程 进程都会借由父进程以复制(fork)的方式产生一个一模一样的子进程,然后被复制出来的子进程再以exec的方式来执行实际要执行的进程。 这里产生的临时进程的程序名为zzz,其PPID和PID都与实际的子进程的PPID和PID相同。 系统或网络服务 常驻在内存中的进程被称为服务(daemon)。 例如计划任务的命令为cron与at,它们的服务名称为crond与atd。 一般daemon类型的进程都会在文件名后加d来简便地判断该进程是否为daemon。 2)Linux多人多任务环境 不同的bash登录有不同的PID