Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# .NET

Войти
Регистрация
Восстановить пароль
 
SkyDreamer
0 / 0 / 0
Регистрация: 29.06.2010
Сообщений: 35
#1

Вопрос по процессам. - C#

03.09.2011, 14:19. Просмотров 674. Ответов 0
Метки нет (Все метки)

Срочно, ну очень срочно, нужно модернизировать задачу! Очень нужна помощь, прошу.

Написать программу, состоящую из 10 консольных процессов, условно назовём их P1, P2, …, Р10. Функционирование и взаимодействие процессов следующее:
• P1 (запускается пользователем): Запустить процессы P2, Р3, …, Р10. Далее, процесс Р1 следит за количеством подчинённых процессов (т.е. сколько из Р2 – Р10 работают), если какой-то процесс завершается, то Р1 тут же запускает его заново. Иначе говоря, в системе должно постоянно работать 10 процессов.
• P2, Р3, …, Р10 (запускаются процессом P1): каждый процесс выводит на экран время собственного старта, после чего генерирует случайное чисто от 2 до 10 (назовём его Т), выводит Т на экран и засыпает на Т секунд. После этого процесс завершается.
В качестве средства разработки следует использовать Microsoft Visual Studio

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Diagnostics;
using System.Threading;
 
namespace ConsoleApplication1
{
    class Program
    {
        static Semaphore _pool = new Semaphore(9, 9);
        static Random r = new Random();
        
        static void Main(string[] args)
        {
            if (Environment.GetCommandLineArgs().Length != 1)
            {
                //this is child
                int time = r.Next(2, 10);
                Console.WriteLine("T:" + time);
                Thread.Sleep(time * 1000);
            }
            else {
                while (true)
                    if (_pool.WaitOne())
                        createProcess();
            }
        }
 
        private static void createProcess()
        {
            Process myProcess = new Process();
            myProcess.StartInfo.FileName = Environment.GetCommandLineArgs()[0];
            myProcess.StartInfo.Arguments = "Child";
            myProcess.EnableRaisingEvents = true;
            myProcess.Exited += new EventHandler(Process_Exited);
            myProcess.Start();
        }
 
        private static void Process_Exited(object sender, System.EventArgs e)
        {
            _pool.Release();
        }
    }
}
надо В P1 для каждого процеса P2, P3... P10 установить счётчик колва запусков процесса с начальным значением 12. При каждом запуске знач счётчика уменьшать на 1. При достижении счётчиком знач 0 более не запускать соотв дочерний процесс. По достижении всеми счётчиками нулевого знач завершить процесс Р1

как сделать? Прошу. Очень срочно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.09.2011, 14:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос по процессам. (C#):

По процессам (заморозка и скрытие) - C#
Интересует как реализованы следующие вещи: 1. заморозка процессов, как в программе Sysinternals Process Explorer 2. скрытие...

Как получить доступ к критическим процессам? - .NET
Как на VB.NET получить полный доступ к критическим процессам

Литература по процессам и потокам - C#
Подскажите пожалуйста хорошую литература о процессах и потоках! А то у меня есть ряд заданий которые надо выполнить, а я не знаю с чего...

Вопрос по процессам - Visual C++
Нужно отследить указанный процесс - т.е. старт/килл, изменение состояния и т.д. Нашёл решение через CreateToolhelp32Snapshot, но не...

По процессам - Bash
Привет! Подскажите в след вопросах: 1. Вывести описание двух процессов имеющих максимальное значение параметра загрузки процессора и...

доступ к процессам - Linux
Есть сервер на котором установлен ряд программ, которые используются пользователями. Стоят задачи: 1) определить какие пользователи...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2011, 14:19
Привет! Вот еще темы с ответами:

Путь к процессам - C++
Нашел вот такой код#include <windows.h> #include <Psapi.h> int main(){ int pid = 3432; // PID of notepad.exe char...

Подключение к процессам - C++
Работа с Экселем.Для создания процесса использую pApp.CreateInstance("Excel.Application"); WorkBook =...

Отправка сигналов процессам - C Linux
Скажу сразу, что ни в Си, ни в Linux не силен, так что прошу извинить. Имеется 4 программы запущенные в терминалах. В 5 терминале...

Задача по переходным процессам - Электротехника
Добрый вечер помогите решить задачку в общем виде найти нужно i1 E=50V R1=2 R2= 13 R3=1 R4=4 Ом , L=1мГн, C= 1500мкФ заранее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru