0 / 0 / 0
Регистрация: 07.05.2017
Сообщений: 45
1

Класс Processes. Как не запускать новый процесс, а присоединиться к уже запущенному?

15.12.2020, 05:47. Показов 481. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в мануале microsoft операции с процессами все время подразумевают его запуск.
https://docs.microsoft.com/ru-... ew=net-5.0

А можно как-то присоединиться к уже запущенному процессу и читать из stdout?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2020, 05:47
Ответы с готовыми решениями:

Как не запускать процесс еще раз если он уже запущен
Здраствуйте, мне в visual studio нужно сделать так чтобы при нажатии кнопки запускалась программа,...

По таймеру запускать новый процесс
Как по таймеру автоматически должен появляться новый процесс?? Допустим у меня идет таймер через...

Как сделать так, чтобы ASP-скрипты коннектились к уже запущенному COM-серверу ?
Доброго здоровья всем внемлющим. У меня проблема с IIS 4 под NT 4 Server. (1)...

А как из агента запускать процесс?
Задача: Из агента(выполняющегося на сервере) запустить некую прогу, которая лежит на том же...

2
Эксперт .NET
11879 / 8199 / 1252
Регистрация: 21.01.2016
Сообщений: 30,847
15.12.2020, 06:14 2
Виктор11111, ну, если учесть, что есть методы типа Process.GetProcessById, то ответ должен быть очевидным)
0
0 / 0 / 0
Регистрация: 07.05.2017
Сообщений: 45
15.12.2020, 09:11  [ТС] 3
Да, я его нашел. вроде все сделал, а он пишет, что поток StandartOutput не был перенаправлен. Всю ночь голову ломал.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    int lineCount = 0;
    StringBuilder output = new StringBuilder();
    Process[] kali = Process.GetProcessesByName("Kali_loader");
    //Console.WriteLine(kali[0].Id); id получает, все отлично
    Process kali_id = Process.GetProcessById((int)kali[0].Id);//вроде экземпляр создает
    kali_id.StartInfo.RedirectStandardInput = true;//флаг в нужном положении. он правда на запуск, но на всякий случай
    kali_id.OutputDataReceived += new DataReceivedEventHandler((sender, e) => //делегата скопипастил
    {
        if (!String.IsNullOrEmpty(e.Data))
        {
            lineCount++;
            output.Append("\n[" + lineCount + "]: " + e.Data);
        }
    });
        
        StreamReader reader = kali_id.StandardOutput;//Поток StandardOut не был перенаправлен или процесс еще не был запущен.
0
15.12.2020, 09:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2020, 09:11
Помогаю со студенческими работами здесь

Механизм, позволяющий описывать новый класс на основе уже существующего
Как называется механизм, позволяющий описывать новый класс на основе уже существующего с...

Как запускать и останавливать уже настроенный rdp-сервер из bat-файла?
здравствуйте. подскажите пожалуйста, как запускать и останавливать уже настроенный rdp-сервер из...

Как запустить процесс, который будет запускать файл сценария PowerShell от имени другого пользователя?
подскажите пожалуйста как мне запустить процесс, который будет ранить скрит под другим...

Что быстрее - после отработки кода, запускать новый экземпляр класса в новый поток или использовать рекурсию?
Собственно интересует такой вопрос, имеется класс реализующий интерфейс Runnable(нечто вроде ИИ),...

Как отрубать текущий процесс если уже есть запущенный экземпляр?
дело происходит на C# при этом хочется, чтобы новая копия процесса перед закрытием себя показывала...

не запускать прогу, если он уже запушено
не запускать прогу, если он уже запушено


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru