Почему conhost.exe запускает?

В зависимости от того, что находится в Вашем imageList, можно сделать a:

<g:each in="${imageList}" var="image">
<img src="${createLinkTo(dir: 'images', file: image.filename)}" alt="Grails"/>
</g:each>
7
задан tshepang 25 February 2014 в 18:29
поделиться

6 ответов

В более ранних версиях Windows окна консоли размещались в CSRSS, который является высокопривилегированным, надежным и критически важным для системы процессом. В Win7, похоже, окна консоли теперь размещаются в conhost.exe, у которого меньше прав. Вероятно, это было сделано из соображений безопасности и надежности - проблема безопасности в системе консоли не поставит под угрозу всю систему, а сбой в коде консоли не приведет к синему экрану системы.

6
ответ дан 6 December 2019 в 08:44
поделиться

Update: I guess that you can find the reasoning on the oldnewthing. It was probably added to restore some functionality (like drag and drop) that was removed from Windows Vista due to security reasons.

Before Update: conhost seems to launch on any cmd.exe opening. It's probably some new, undocumented thing on windows 7.

3
ответ дан 6 December 2019 в 08:44
поделиться

To be blatant, I don't know anything about Java, so I can't help you with #1. I can help with #2, though.

To track it with .NET, you can use System.Diagnostics.

First, you have to get each of the processes by the name "conhost.exe", launch Java, then get all the processes again, and compare.

To get the specific instances, use the process ID:

foreach (Process singleProcess in Process.GetProcessesByName("conhost"))
{
    //Store the following in some kind of array
    somePidArray[yourindex] = singleProcess.Id;
}

Then when you want to kill the processes, run the exact same loop, and if the process ID was not stored in the initial loop, then call singleProcess.Kill(); on it. Then you will have kept all the initial conhost.exe processes alive, and only kill the ones created between the time you launch Java in your program and the time your Java process exits.

1
ответ дан 6 December 2019 в 08:44
поделиться

. Возникает связанный с этим вопрос: хотите ли вы, чтобы окно консоли для приложения Java было порождено приложением .NET? Если нет, вы можете выполнить команду javaw вместо java . Я не экспериментировал с ним в Vista, но он может устранить процесс conhost.exe .

0
ответ дан 6 December 2019 в 08:44
поделиться

Это процесс, в котором находится окно консоли. Он был представлен в Windows 7 (iirc), в более старых версиях функциональность выполнялась в контексте процесса csrss.exe.

1
ответ дан 6 December 2019 в 08:44
поделиться

Я только что написал статью, в которой пытаюсь объяснить цель этого процесса. Он предназначен для обычных людей, но для иллюстрации есть множество снимков экрана.

Что такое conhost.exe и почему он работает?

Суть в том, что conhost.exe находится между процессом CSRSS и cmd.exe, поэтому вы можете снова использовать перетаскивание.

alt text

1
ответ дан 6 December 2019 в 08:44
поделиться
Другие вопросы по тегам:

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