繁体   English   中英

在 ubuntu 终端中运行随机进程

[英]Run random process in ubuntu terminal

我想知道是否有一种方法可以运行随机进程来模拟可以在 PC 中工作的用户的正常活动。

例如,生成消耗资源作为浏览器或 pdf 的随机进程,直到 memory 的 50% 或 60% 工作。

我正在尝试从虚拟机获取数据,但我希望拥有尽可能多的异构数据。

我尝试了以下方法:

  1. 在 bash 脚本中运行随机命令
  2. https://unix.stackexchange.com/questions/174688/how-can-i-start-a-process-with-any-name-which-does-nothing

但这并不是我想要的。

你能帮助我吗?

提前致谢。

像这样的东西对你有用吗?

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import random
import subprocess
import time
import psutil


timeout = 5 * 60  # seconds
poll_time = 5  # seconds
mem_limit = psutil.virtual_memory().total * (50/100)  # limit mem usage at 50%
cmds = [
   'firefox www.some_website.com',
   'firefox www.other_website.com',
   'okular some_document.pdf',
   'vlc some_video.mp4',
   'vlc some_audio.mp3',
   # etc.
]

procs = []
quit = False
init_time = time.time()
while not quit:
    if mem_limit < psutil.virtual_memory().used:
        i = random.randint(0, len(cmds))
        cmd = cmds[i]
        procs.append(subprocess.Popen(cmd, shell=True))
    time.sleep(poll_time)
    if timeout > (time.time() - init_time):
        for proc in procs:
            proc.kill()
        quit = True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM