最近私はプログラムを編集しましたGNU MIX
。このプログラムは非常にシンプルで、本質的に無限ループである唯一の命令への無条件のジャンプだけを含みます。
問題は、runnerを使用するとmixvm
システムがハングすることです。これは別の問題である可能性があり、バグレポートを送信することもできますGNU MIX
。次のコマンドを実行しても役に立ちません。
mixvm -r infiniteloop.mix & sleep 5 && killall mixvm
私の質問は、サンドボックス環境でコンピュータを停止させ、サンドボックスのみを停止させるプログラムを実行する簡単な方法はありますか?
仮想マシンを設定する必要がない方法を探しています。プログラムが自分のパスワードを盗んだり、ディスクを消去したりするなど、セキュリティ上の問題を引き起こすことはないと思うので、これが「マルウェア」として認識されるべきかどうかはわかりません。唯一の問題は、コンピュータが回復不能に中断される可能性があることです。回復する唯一の方法は、強制的に再起動するか、SysRqを送信することです(試していません)。
私は走っていますUbuntu 16.04.4 LTS
。
私は仮想化についてよく知らないので、確かな内容を逃した場合はいつでも修正してください。
答え1
bashで実行できるプログラムがあります。
cpulimit
ここに文書があります。
http://manpages.ubuntu.com/manpages/xenial/man1/cpulimit.1.html
私は彼らの最初の例をコピーしています
はい top(1) または ps(1) の使用を開始し、foo --bar
プロセスが CPU 時間をすべて占有しているとします。
# cpulimit -e foo -l 50
limits the CPU usage of the process by acting on the executable
program file (note: the argument "--bar" is omitted)