Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
11 / 11 / 5
Регистрация: 25.11.2011
Сообщений: 147

Разработать консольное приложение, в котором базовый процесс порождает дочерний

09.03.2014, 17:23. Показов 4291. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание выполняется в двух вариантах: под Linux и Windows. Необходимо разработать консольное приложение, в котором базовый процесс порождает дочерний. Предусмотреть для каждого процесса свою область вывода, в которую выводится текущее системное время. Под Linux использовать библиотеку ncurses.

Пишу пока что под винду. Написал следующее, но работает мягко говоря не так. Помогите как то лучше сделать.

Код ProcessA:
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
#include <windows.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
 
void ProcessA() {
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    wchar_t pCmdLineA[] = {L"ProcessA.exe"};
    wchar_t pCmdLineB[] = {L"ProcessB.exe"};
 
    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    CreateProcess(NULL, pCmdLineA, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
    CreateProcess(NULL, pCmdLineB, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
 
    CloseHandle( pi.hProcess );
    CloseHandle( pi.hThread );
}   
 
void main()
{
    ProcessA();
}
Код ProcessB:
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
#include <time.h>
#include <iostream>
#include <windows.h>
#include <stdlib.h>
using namespace std;
 
class Sys_time {        
    public:
    Sys_time();
    void Vsys_time();                  
};
 
Sys_time::Sys_time(){};
 
void Sys_time::Vsys_time()
{
    time_t lt;                  
    lt = time(NULL);
    cout << ctime(&lt);
    system("cls");
};
 
void Creat_Sys_time()
{
    Sys_time ts;
    ts.Vsys_time();
}
 
int main()
{
    Creat_Sys_time();
    return 0;
}
Добавлено через 4 часа 5 минут
Я чутка переделал и у меня назрел только один вопрос. Как сделать так чтобы ProcessB передавал в ProcessA время?
Код Comand:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <windows.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
 
void ProcessA() {
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    wchar_t pCmdLineA[] = {L"ProcessA.exe"};
 
    ZeroMemory( &si, sizeof(si) );
    ZeroMemory( &pi, sizeof(PROCESS_INFORMATION) );
    si.cb = sizeof(si);
    CreateProcess(NULL, pCmdLineA, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
    CloseHandle( pi.hProcess );
    CloseHandle( pi.hThread );
}   
 
void main()
{
    ProcessA();
}
Код ProcessA:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <windows.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
 
void ProcessB() {
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    wchar_t pCmdLineB[] = {L"ProcessB.exe"};
 
    ZeroMemory( &si, sizeof(si) );
    ZeroMemory( &pi, sizeof(PROCESS_INFORMATION) );
    si.cb = sizeof(si);
    CreateProcess(NULL, pCmdLineB, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
    CloseHandle( pi.hProcess );
    CloseHandle( pi.hThread );
}   
 
void main()
{
    cout << "Process A created\n";
    ProcessB();
}
Код ProcessB:
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
#include <time.h>
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
 
class Sys_time {        
public:
    Sys_time();
    void Vsys_time();                  
};
 
Sys_time::Sys_time(){};
 
void Sys_time::Vsys_time()
{
    time_t lt;                  
    lt = time(NULL);
    cout << ctime(&lt);
};
 
void Creat_Sys_time()
{
    Sys_time ts;
    ts.Vsys_time();
}
 
int main()
{
    while (!_kbhit())
    {
        cout << "Process B created\n";
        Creat_Sys_time();
        Sleep(1000);
        system("cls");
    }
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2014, 17:23
Ответы с готовыми решениями:

Написать программу, которая порождает дочерний процесс
Помогите пожалуйста, очень нужно, я в этом не разбираюсь, дали задание в универе :( Написать программу, которая порождает дочерний...

Разработать консольное приложение, в котором описать класс, работающий с одномерным массивом
Здравствуйте помогите пожалуйста решить задачу с массивами, читаю кучу литературы не помогло не понимаю ... Постановка задачи Требуется...

Разработать консольное приложение
Условие: Разработать консольное приложение для управления программными проектами Вся информация приложения хранится в трех файлах: ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.03.2014, 17:23
Помогаю со студенческими работами здесь

Разработать консольное приложение
Предусмотреть ввод исходных данных с клавиатуры и вывод на экран исходных данных и результата вычислений. Разработать консольное...

Постройть консольное приложение, в котором вводится возраст пользователя
Создать класс спортсмен (поля фамилия, год рождения, вид спорта, тренер, возраст) и классы взрослый спортсмен (количество побед в...

Разработать консольное приложение на Java
Помогите решить уравнение. Функция представлена в виде своего ряда Тейлора. Вычислить приближённое значение суммы этого бесконечного...

Разработать консольное приложение на языке программирования C++
|𝑎−𝑏|/-pow(с,2) в случаи ввода некорректных данных сообщалась ошибка с пояснением и предлагался повторный ввод до тех пор, пока не...

Разработать консольное приложение на языке программирования C++
Если в A есть повторяющиеся символы, то упорядочить символы B в алфавитном порядке; в остальных случаях продублировать в A цифры....


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru