컴퓨터를 정지시킬 수 있는 프로그램을 올바르게 샌드박스하는 방법

컴퓨터를 정지시킬 수 있는 프로그램을 올바르게 샌드박스하는 방법

최근에 나는 프로그램을 편집했습니다 GNU MIX. 이 프로그램은 매우 간단하며 본질적으로 무한 루프인 유일한 명령으로의 무조건적인 점프만 포함합니다.

문제는 runer 를 사용할 때 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)

관련 정보