How To: Set processor affinity from cmd line

otvertka07

короче нужно запустить прогу и установить для нее affinity: cpu0 из командной строки

Angelika_900

произвольная программа?
просто для IB есть утилита IB_AFFINITY
у майкрософт есть утилита в Resource Kit, но она по-моему только графическая, сейачс под рукой нет, чтобы проверить, завтра посмотрю, если не забуду.

otvertka07

произвольная

buba741

Напишу за деньги

a10031

напишу на 10% дешевле

buba741

Я хотел чисто символически, рублей 10 взять. Так что ты впрягся за девять. Можешь приступать, я оплачу.

Crash770909

Ты хотел за 10 рублей написать программу из одного апи вызова?
Типа 10 рублей за вызов. А если вызов в цикле?

buba741

Во-первых, существенно больше, чем из одного. Во-вторых, для [содержательной] command-line утилиты требуются (тупые, но довольно геморройные усилия) по разбору параметров. Так что работы там явно больше, чем на 10 рублей. Хочешь попробовать их заработать? Правда, у тебя это вряд ли получится.

Crash770909

существенно больше, чем из одного
Это ты crt вызовы считал )? Давай я попробую заработать целых 10 рублей прямо сейчас, при написании этого текста. Я даже возьмусь за
тупые, но довольно геморройные усилия
по парсингу cl. Итак: задача по установке Affinity Mask для консольной программы первый и единственный параметр - номер процессора


int main(int argc, char* argv[])
{
if ( 1 == argc )
return -1;
DWORD dwMask = 1 << atoi(argv[1]);

if (!SetProcessAffinityMask( GetCurrentProcess dwMask
printf( "sorry, we\'re failed with GetLastError = %d", GetLastError );
return 0;
}


А теперь вопрос пиздатому и остроумному : какие хидеры нужно подключить? Надеюсь хоть с этим ты справишься, т.к. труд не обещает быть гемморойным, правда?
можешь компилить и продавать. Отказываюсь от всех копирайтов.
PS как меня достали такие как ты "тупые и гемморойные" люди. твои постоянные попытки обосрать меня говорят лишь об одном

abrek

А вот это уже интересно.
> твои постоянные попытки обосрать меня говорят лишь об одном
где ссылки на попытки?
посмотрим, о чём они говорят

Crash770909

интересно - ищи и найдешь

ppplva

А можно тупой вопрос ?
Как эту программу использовать ?

Crash770909

ее нужно скомпилировать MS Visual Studio
или можно зайти ко мне и получить сразу .exe

ppplva

Нет меня другое волнует
Как она узнает, какому процессу нужно affinity проставить ?

Crash770909

короче нужно запустить прогу и установить для нее affinity: cpu0 из командной строки

Маска ставится для этой же программы

ppplva

Прикольно...
А нафига такой экзешник нужен, который ставит себе affinity mask и сразу выходит ?

Crash770909

например - чтобы проверить кол-во процессоров в системе

ppplva

Действительно, ценная штука!
Обязательно сделаю себе такой и в авторан поставлю

buba741

>А можно тупой вопрос ?
>Как эту программу использовать ?
Для оценки IQ её автора?

Ivan8209

man execve
---
...Я работаю антинаучным аферистом...

Crash770909

Для оценки IQ её автора?

ppplva

Что ты хотел этим сказать ?

Ivan8209

Я не знаю, есть ли execve под Win, но если есть, то оно всё решает.
---
...Я работаю антинаучным аферистом...

ppplva

И как же оно решает ?

Ivan8209

Легко.
Так же, как перенаправляются потоки в униксах.
---
...Я работаю антинаучным аферистом...

buba741

Прочитай ещё раз внимательно сформулированную в первом посте задачу. Твоя программа (кстати, содержащая более одного API-вызова её, очевидно, не решает. Поэтому призовые RUR 10 тебе тут и близко не светят, гы-гы.

ppplva

По-прежнему не понимаю. Можешь объяснить подробнее, как, имея экзешник этой программы, установить affinity к cpu0 для какой-то другой программы ?

Ivan8209

Если бы был уникс, было бы так.
1. Устанавливается флаг в контексте процесса (set-чего-то-там).
2. Меняется исполняющая программа (execve но контекст остаётся тот же.
Как под микрософтом --- не знаю.
Читайте документацию.
---
...Я работаю антинаучным аферистом...

Ivan8209

Да, должно получится нечто такое:
set_____ N execfile params
---
...Я работаю антинаучным аферистом...

Crash770909

ты очевидно болван, так как очевидная задача, сформулированная выше, вовсе не так очевидна, как кажется, и подразумавает различное толкование

что ты там себе уже успел придумать, Бог знает

Crash770909

а вот за 10 рублей (~на 2 API вызова по ценам Bahpomet ) я сделаю, чтобы программа ставила аffinity для любого процесса
а вот сможет ли он?

buba741

Да ты просто нереальный отец. Всего за сутки осознал, о чём тред, в который пишешь.

Niki

>а вот сможет ли он?
Он то уж точно сможет.

Crash770909

>а вот сможет ли он?
Он то уж точно сможет.

появилась группа поддержки?

ppplva

Ну давай ты мне еще будешь объяснять как работает execve!
Прочитай еще раз мой вопрос. Речь идет о применении _данного_ бинарника для изменения affinity mask произвольного процесса. Куда ты собрался втыкать execve ?

a10031

>я оплачу.
куда зайти?

Ivan8209

A> нужно запустить прогу и установить для нее affinity: cpu0 из командной строки
---
...Я работаю антинаучным аферистом...

buba741

>куда зайти?
В icq?

a10031

Что-то ацы шутки понимать перестали...
(К весне?)

Crash770909

В icq?

а номер?

buba741

>а номер?
2 - а вот не песди

ppplva

Блин, а зачем тогда реплай на мой пост ?

Ivan8209

Положим, меня пока ещё не плющит.
А ответ предназначался тебе потому, что:
> А нафига такой экзешник нужен, который ставит себе affinity mask и сразу выходит ?
---
...Я работаю антинаучным аферистом...

ppplva

Обрати внимание на разницу между моим вопросом и вопросом Ахтоха. Меня интересует, как использовать _этот_ экзешник для установки affinity mask произвольного процесса, а не как написать программу с нуля с использованием WinAPI.
В этом контексте твое замечание про execve - не в кассу

Ivan8209

> нужно запустить прогу и установить для нее affinity: cpu0 из командной строки
> Маска ставится для этой же программы
> А нафига такой экзешник нужен, который ставит себе affinity mask и сразу выходит ?
> man execve
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."
Karel Capek

abrek

Мне вот недавно объяснили, что если человек не хочет читать, то писать для него бессмысленно.
FAQ про будет полезнее создать

maxin1

>а вот сможет ли он?
Знал бы ты, что делали в свое время с тем, кто не верил в Бафомета....
Оставить комментарий
Имя или ник:
Комментарий: