- Python 取证学教程
- 主页
- 简介
- 安装 Python
- Python 概述
- 基本取证应用
- 哈希函数
- 破解加密
- 虚拟化
- 网络取证
- Python 模块
- Dshell 和 Scapy
- 搜索
- 索引
- Python 图像库
- 移动取证
- 网络时间协议
- 多进程支持
- 内存与取证
- Linux 中的取证
- 入侵指标
- 云的实现
- Python 取证学有用资源
- Python 取证学 - 快速指南
- Python 取证学 - 有用资源
- Python 取证学 - 讨论
Python 取证学 - 多进程支持
通常情况下,取证专家很难运用数字解决方案分析大量常见的犯罪中出现的数字证据。大多数数字调查工具都是单线程的,一次只能执行一个命令。
本章,我们专注于 Python 的多进程功能,可以应对常见的取证挑战。
多进程
多进程是指计算机系统支持多个进程的能力。支持多进程的操作系统可以同时运行多个程序。
多进程有不同的类型,例如对称和非对称处理。下图引用了通常在取证调查中遵循的对称多进程系统。
示例
以下代码展示了在 Python 编程中不同进程在内部如何列出。
import random import multiprocessing def list_append(count, id, out_list): #appends the count of number of processes which takes place at a time for i in range(count): out_list.append(random.random()) if __name__ == "__main__": size = 999 procs = 2 # Create a list of jobs and then iterate through # the number of processes appending each process to # the job list jobs = [] for i in range(0, procs): out_list = list() #list of processes process1 = multiprocessing.Process( target = list_append, args = (size, i, out_list)) # appends the list of processes jobs.append(process) # Calculate the random number of processes for j in jobs: j.start() #initiate the process # After the processes have finished execution for j in jobs: j.join() print "List processing complete."
这里,函数list_append()帮助在系统中列出进程集合。
输出
我们的代码会产生如下输出 −
广告