子进程物理内存空间公平预留

2022/7/21 5:24:58

本文主要是介绍子进程物理内存空间公平预留,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 实验环境
  • 实验目的
  • 成果

实验环境

  • Ubuntu 21.04
  • python3

实验目的

  • 实现客户端多子进程发送数据包至同一个服务器
  • 为客户端每个子进程预留同样的物理内存空间

成果

  • 客户端
import multiprocessing
import psutil
import os
import resource
from scapy.all import *
def pkt_send(i):
  os.system("prlimit --pid %s --rss=10" %os.getpid())
  os.system("sudo renice -5 -p %s "%(os.getpid()))
  os.system("ps -l -p %s"%os.getpid())
  print("----in 主进程 pid=%d---父进程pid=%d----" % (os.getpid(), os.getppid()))
  p=Ether()/IP(dst="192.168.0.3", src="192.168.0.2")/TCP(sport=5000,dport=80)/"Payload"
  sendp(p,iface='ens33')
  print("This is process",i)
if __name__ == '__main__':
    process_list = []
    for i in range(3):
        p = multiprocessing.Process(target=pkt_send,args=(i,))
        p.start()
        process_list.append(p.pid)
    for i in process_list:
        os.system("prlimit --pid %s --rss" %i)
  • 服务器
from scapy.all import *
import pprint
def packet_callback(packet):
    pprint.pprint(packet)
sniff(filter="ip src 192.168.0.2 and tcp and tcp port 80",prn=packet_callback, count=0)


这篇关于子进程物理内存空间公平预留的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程