进程间通信 数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程间共享同样的资源 通知事件 进程控制 POXIX:可移植操作系统接口 LINUX使用的进程间通信方式包括: 1、 管道(pipe)和有名管道(FIFO) 2、 信号(sigal) 3、 消息队列 4、 共享内存 5、 信号量 6、 套接字(socket) 一、管道通信 特点:管道是一种半双工的通信方式,数据
转载 2024-10-02 20:01:53
40阅读
教材学习第七章Windows操作系统安全攻防总结1.Windows操作系统的基本结构分为运行于处理器特权模式的操作系统内核,以及运行在处理器非特权模式的用户空间代码。采用宏内核模式来进行构架,这使得任意的内核模块或设备驱动程序都可能破坏其他内核模块数据,这种宏内核机制也使得Windows操作系统容易遭受以驱动方式植入内核的Rootkit的危害,为了避免这类攻击,最新的Windows7缺省要求所以请
进程 1.运行时(runtime)应用程序 2.进程之间的内存不是共享(独占) 3.进程间通信使用socket(套接字) 多线程 1.进程内并发执行的代码段 2.线程之间共享内存 3.每个运行着的线程对应一个stack 4.应用线程至少有一个线程(主线程) 1.Thread.yield()方法 让当前线程让出CPU的抢占权,瞬时的动作。 2.Thread.sleep()
转载 2024-07-16 08:29:11
47阅读
ps -aux | head -n 2USER: 启动这些进程的用户PID: 进程的ID%CPU 进程占用的CPU百分比;%MEM 占用内存的百分比;VSZ:进程占用的虚拟内存大小(单位:KB)RSS:进程占用的物理内存大小(单位:KB)STAT:该程序目前的状态,Linux进程有5种基本状态:R :运作 可被S :睡眠T :停止Z:该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zom
转载 2024-10-12 16:08:33
70阅读
在上篇结尾处我提到“如果现在让我重新选择,我会使用哪个可视化工具?”我的答案是 Redash,原因主要不是功能层面,而是技术层面。本篇就从项目关注度与活跃度,项目的技术架构,源代码的规模与质量,这三个方面来比较一下 Superset,Redash 与 Metabase。关注度与活跃度看一个项目在 Github 上的星数,是评判一个项目成熟度最快速的方法。那除了星数以外,项目的 Github 页面上
转载 8月前
54阅读
目录进程组获取进程组ID组长进程设置进程组孤儿进程组孤儿进程组的特性参考文献 进程组每个进程除了有一个进程ID之外,还属于一个进程组。进程组是一个或多个进程的集合。每个进程组有一个唯一的进程组ID,进程组ID类似于进程ID。获取进程组ID在早期的UNIX系统中使用以下函数查看进程组ID:#include <unistd.h> pid_t getpgid(pid_t pid); //
转载 2024-10-25 11:13:06
36阅读
为什么不采用两次握手?如果是两次握手的情景:客户端在发送一个连接建立请求之后进入等待状态,等到服务端确认之后就进入established状态。服务端在发送一个确认连接建立请求报文之后(不管客户端是否有回应)也进入established状态。这就好比,A给B打电话,A:你听得到我说话吗?B:我听得到啊A和B就都以为对方都能听得到自己了。但有一种情况是,B的麦是坏的,A根本就听不到B说话,结果A没收到
        在windows中,每个线程代表一个指令执行序列,同时也是一个调度单元。进程定义了一个执行环境,有自己的独立地址空间。每个线程都必定依附一个进程。windows内核除了接受来自应用程序的系统服务调用,它自己也有一些线程用于各种用途,这些线程运行在一个特殊的进程环境中,称为system进程(注意与操作系统
进程概念进程的定义进程是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动。进程与程序的连续与区别进程是程序在CPU上的一次执行过程,是一动态概念。程序时指令的有序集合,是一个静态概念。进程是一个能独立运行的单位。进程是竞争计算机系统有限资源的基本单位。进程一定包含一个程序,因为程序是进程完成相应功能的逻辑描述;而一个程序可以对应多个进程进程的状态和变迁进程的基本状态就绪状态:当进程获得
转载 2024-04-07 11:17:42
145阅读
今天,同-事小莉又来找我,说她的电脑很卡,鼠标都不流畅,一顿一顿的。作为乐于助人的我,就去看看她的电脑到底怎么了?看到她电脑,桌面右下角图标一大片,右键点击任务栏,启动任务管理器,后台进程数尽然有74个,在不运行程序时CPU使用率高达28%,8G内存也使用了57%,后台占用这么大,对配置一般的电脑来说,运行起来肯定会卡的,那就开始动手优化吧。对Windows7系统不熟的朋友记得先备份好系统,切记。
4.3  Linux进程管理命令详解(1)Linux管理进程的最好方法就是使用命令行下的系统命令。Linux下面的进程涉及的命令有at, bg, fg, kill, crontab, jobs, ps, pstree, top, nice, renice, sleep, nohup。1.at命令:定时运行命令作用:at命令在指定时刻执行指定的命令序列。格式:at [-V] [-q x]
1、进程的概念:进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存,网络资源等。很多人在回答进程的概念的时候,往往只会说它是一个运行的实体,而会忽略掉进程所占据的资源。比如说,同样一个程序,同一时刻被两次运行了,那么他们就是两个独立的进程。linux下查看系统进程的命令是ps。   2、进程在内核中的描述:在linux中,有一个结构体
转载 8月前
35阅读
很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。 今天终于下了决心,写点东西,以后可以再修修补补也无妨。 一.为何需要多进程(或者多线程),为何需要并发? 这个问题或许本身都不是个问题。但是对于没有接触过多进程编程的朋友来说,他们确实无法感受到并发的魅力以及必要性。 我想,只要你不是整天都写那种int main()到底的代码的
简介Netstat 可用于列出系统上 所有的网络套接字连接情况,包括tcp, udp 以及 unix 套接字 还能列出处于 监听状态(即等待接入请求)的套接字。具体功能分类如下:打印网络连接 打印路由表 接口状态 (Interface Statistics),接口数据统计 伪装 masquerade 连接 广播成员 (Multicast Memberships) 等等使用常见参数-a (all)
转载 6月前
94阅读
  死锁产生的原因及四个必要条件 产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:(1)&n
liststen小议TCP通过三次握手建立连接的过程应该都不陌生了。从服务器的角度看,它分为以下几步将TCP状态设置为LISTEN状态,开启监听客户端的连接请求 收到客户端发送的SYN报文后,TCP状态切换为SYN RECEIVED,并发送SYN ACK报文 收到客户端发送的ACK报文后,TCP三次握手完成,状态切换为ESTABLISHED 在Unix系统中,开启监听是通过listen完成。int
转载 2024-02-24 00:54:31
62阅读
 每个进程都有一个 EPROCESS 结构,里面保存着进程的各种信息,和相关结构的指针。EPROCESS 结构位于系统地址空间,所以访问这个结构需要有ring0的权限。使用 Win2k DDK 的 KD (内核调试器)我们可以得到 EPROCESS 结构的定义。注意下面的是 Win2k Build 2195 下的 EPROCESS 结构定义。
转载 2024-03-05 10:34:14
78阅读
前言在调试网络程序或者定位网络相关问题时,有一个命令不得不知,它就是netstat。netstat命令用于查看网络连接,路由表,网络接口统计数据, 虚拟连接等信息。netstat的选项很多,但是本文准备介绍一些netstat命令的实用技巧。查看某个端口是否被占用如果你遇到“Address already in use”的错误,那么你就需要好好看看是不是端口已经被占用了。-a(all)参数用于列出所
转载 2024-03-30 08:08:22
216阅读
缘起某一天,产品侧同事联系过来,反馈话单传输程序报错,现象如下:实际上,该节点仅提供了一个sftp服务,供产品侧传输话单过来进行临时存储,由计费部门取走而已。分析于是找运维同事上服务器看了下情况,发现有以下几个问题:ssh进程过高(由于前期给各个部门分配的sftp账号不同,正好可以以账号名辨别来源)根据以上信息,检查了TCP链接状态,发现绝大多数都是ESTABLISHED连接:于是统计了一下TCP
转载 2024-06-14 22:23:05
174阅读
Push上传代码至GitHub时出现以下错误:1. remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.(这个提示大致意思是:2021年8月13日起github将不再支持密码验证的方式Push,请将密码换成toke
转载 2024-08-29 13:41:59
51阅读
  • 1
  • 2
  • 3
  • 4
  • 5