Завершение процесса Windows от Mathematica - PullRequest
2 голосов
/ 07 декабря 2011

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

enter image description here

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

BR

Ответы [ 2 ]

2 голосов
/ 08 декабря 2011

Я использовал метод для остановки процесса в своем ответе здесь:

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

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

Например, закрытие блокнота:

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

Это можно использовать вместе со списком задач для определения использования памяти:

ReadList["!tasklist", String]
2 голосов
/ 07 декабря 2011

Возможно, вы захотите использовать функцию 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...