Завершение работы процесса windows из Mathematica


Можно увидеть список процессов, запущенных в операционной системе Windows, просто открыв Диспетчер задач. Теперь мой вопрос заключается в том, можно ли отключить один такой процесс от Mathematica front end.

Введите описание изображения здесь

Я имею в виду, что нам нужно написать сценарий, скажем, чтобы убить "дерево процессов", если процесс занимает более 95 процентов оперативной памяти системы или занимает более X минут или секунд. Я не знаю, можно ли это сделать с помощью ММА, но если это возможно, это действительно произойдет. удобно в моем проекте.

BR

2 2

2 ответа:

Я использовал метод, чтобы закрыть процесс в моем ответе здесь:

Как сделать паузу ядра Mathematica для создания внешнего файла

taskkill /f /fi "imagename eq apame_win64.exe"

Например, выключение Блокнота:

ReadList["!taskkill /F /FI \"IMAGENAME eq notepad.exe\"", String]

Это можно использовать совместно с tasklist для идентификации использования памяти:

ReadList["!tasklist", String]

Возможно, вы захотите использовать функцию Run и команду оболочки TSKILL.

TSKILL processid | processname [/SERVER:servername] [/ID:sessionid | /A] [/V]

  processid           Process ID for the process to be terminated.
  processname         Process name to be terminated.
  /SERVER:servername  Server containing processID (default is current).
                         /ID or /A must be specified when using processname
                         and /SERVER
  /ID:sessionid       End process running under the specified session.
  /A                  End process running under ALL sessions.
  /V                  Display information about actions being performed.