0

我试图弄清楚为什么这个简单的 bash 脚本在运行时内存占用不断增加

#!/bin/bash

while true
do
    pid=$(xdotool search --name "TeamViewer")
    if [ ! -z "$pid" ]; then
        xdotool windowminimize $pid
    fi
    sleep 1
done

当我运行watch cat /proc/meminfo脚本时,我看到memFreememAvailable值以稳定的速度下降。它会继续发生,直到系统内存不足并不得不回退到交换,这导致我的系统出现问题

脚本的原始版本(如下)以更高的速率使用内存--sync,我认为

#!/bin/bash

while true
do
    xdotool search --name --sync "TeamViewer" windowminimize
    sleep 5
done

任何帮助,将不胜感激

我正在使用运行 Linux Mint 18.1 和 8GB RAM 的 2011 Macbook Pro

4

1 回答 1

0

不确定到底发生了什么,但问题已经以某种方式解决了。运行此脚本不再占用内存。

#!/bin/bash

while true
do
    pid=$(xdotool search --name "TeamViewer")
    if [ ! -z "$pid" ]; then
        xdotool windowminimize $pid
    fi
    sleep 1
done

这个仍然可以。

#!/bin/bash

while true
do
    xdotool search --name --sync "TeamViewer" windowminimize
    sleep 5
done

我的测试方法可能存在缺陷,导致我相信它们都占用了内存。

于 2017-09-24T22:46:13.067 回答