Как запустить программу в соответствии с Windows с ограниченной ПАМЯТЬЮ/ПРОЦЕССОРНЫМ ВРЕМЕНЕМ?

Похоже, вам не хватает импорта.

import { library } from '@fortawesome/fontawesome-svg-core'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faIgloo } from '@fortawesome/free-solid-svg-icons'

library.add(faIgloo)

https://fontawesome.com/how-to-use/on-the-web/using-with/react

5
задан Community 23 May 2017 в 12:11
поделиться

3 ответа

Вы в значительной степени создаете ту же модель процесса как IIS - забава! Я использовал бы те же инструменты, которые IIS использует, ее относительно устойчивое против взламывания и его разработанный для разделения системы во многие параллельные задания.

Можно использовать Задания Win32 для установки квот для памяти, CPU, потоков, и можно настроить контекст защиты для различных процессов для выполнения в, таким образом ограничив доступ к файловой системе.

Для контроля я посмотрел бы на WMI.

Для отслеживания стека при зависании или катастрофическом отказе, я использовал ADPlus снова от Microsoft.

Для получения консольного вывода, выезд, Создающий Дочерний процесс с Перенаправленным Вводом-выводом.

Относительно ограничений безопасности создайте низкую учетную запись пользователя полномочия и выполните задание / процесс как тот пользователь.

5
ответ дан 14 December 2019 в 19:27
поделиться

Решения для виртуализации решают эту проблему. Возможно, можно основывать решение на VMware (или эквивалентный) и запустить отдельные виртуальные машины (одно для каждого процесса). Вы получите хорошую изоляцию, управление использованием памяти/CPU и отчетами. Существуют издержки переносящейся ОС для каждого процесса, но это в зависимости от требований Вашего проекта это могло бы быть приемлемо.

0
ответ дан 14 December 2019 в 19:27
поделиться
  • Ограничьте доступную память приблизительно X МБ (данный в качестве параметра); Используйте VMware или подобные виртуальные среды
  • Ограничьте доступное время выполнения приблизительно X миллисекундами (данный в качестве параметра). Обратите внимание на то, что это - Время Ядра + Пользовательское Время, но не Время простоя. С другой стороны, Время простоя также должно быть ограничено так, чтобы программа не могла Спать () бесконечно.
  • После завершения программы сообщают о процессорном времени, которое оно на самом деле провело; Сборка в коде программы. (Зацепите мощность ЦП
  • Если программа отказывает, сообщите некоторую информацию о катастрофическом отказе (больше лучше, но не идите за борт с отслеживаниями стека и т.п.). Сборка в коде программы. (Обработка исключений)
  • Предпочтительно получите весь вывод программы и сообщите об этом также; Сборка в коде программы (Файл журнала).
  • Программа, как предполагается, использует просто текущий каталог, плюс, возможно, некоторый обязательный.DLLs от SYSTEM32 (как kernel.dll,user32.dll, и т.д.). Предельный доступ к чему-либо еще как можно больше. Доступ к вещам как реестр и сеть не должен быть необходим (если обязательный.DLL's не требует его). Чем меньше доступа, тем лучше. Сборка в коде программы. (Если Ваша программа не будет использовать регистр, это не будет использовать его.
0
ответ дан 14 December 2019 в 19:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: