Проверьте наличие VMX Unrestricted Guest IA-32e, необходимого для VMware Workstation 14?

Пусть каждый скрипт проверяет определенный файл (например, / var / tmp / script1-2 ).

Если файл проверки не существует, запишите имя другого сценария в файл как можно раньше, чтобы предотвратить его выполнение во время выполнения этого сценария.

Если он существует и содержит собственное имя, то выйдите. В противном случае работайте нормально.

Непосредственно перед выходом каждый сценарий должен записать в файл свое имя.

CHECKFILE="/var/tmp/script1-2"
MYNAME='script1'
OTHERNAME='script2'
[ ! -s "$CHECKFILE" ] && echo "$OTHERNAME" > "$CHECKFILE"
[ -s "$CHECKFILE" ] && grep -qwF "$MYNAME" && exit 1

# rest of script here
.
.

echo "$MYNAME" > "$CHECKFILE"

Параметры grep :

  • -q для тихого, без вывода
  • -w для сопоставления только целых слов
  • -F для соответствие фиксированным строкам, а не регулярным выражениям.

Примечание: если оба сценария выполняются в точно одновременно и $ CHECKFILE еще не существует, то они оба будут запущены. Имя, которое завершится последним (для запуска требуется больше времени), будет записано в $ CHECKFILE. Чтобы предотвратить это, запустите echo script2> / var / tmp / script1-2 перед запуском любого из них.

0
22.06.2018, 13:45
1 ответ

Неограниченная гостевая поддержка указывается битом 5 MSR 0x485, поэтому ее можно проверить следующим образом:

sudo modprobe msr
sudo rdmsr --bitfield 5:5 0x485

Если выход равен 1, неограниченный гость поддерживается, если 0 — нет.

rdmsrдоступен в пакете msr-toolsв Debian или Fedora.

0
28.01.2020, 04:20

Теги

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