• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Wysyłanie komendy z aplikacji C# do działającego procesu (Ubuntu)

Object Storage Arubacloud
0 głosów
185 wizyt
pytanie zadane 1 marca 2020 w C# przez Vorczu Początkujący (390 p.)
zamknięte 1 marca 2020 przez Vorczu
Cześć, w mojej aplikacji (WPF) aktualnie korzystam z biblioteki SSH.NET dzięki której wysyłam proste zapytania i komendy do mojego serwera, chciałbym dodać do aplikacji możliwość wysyłania komend oraz pobierania informacji zwrotnych z konsoli programu który działa w jednej z sesji na serwerze jednak nie mogę znaleźć rozwiązania które by mi pomogło rozwiązać problem.
Z tą moje pytanie: Czy istnieje sposób na dostanie się do działającego już procesu oraz wysłanie do niego komendy?
Możliwe że przeoczyłem jakąś oczywistą rzecz w bibliotece która na to pozwala, jestem osobą początkującą.

// Nie dodaję kodu, problem nie polega na błędzie a na braku możliwości lub wiedzy :(
komentarz zamknięcia: Problem rozwiązany

1 odpowiedź

0 głosów
odpowiedź 1 marca 2020 przez Vorczu Początkujący (390 p.)

Problem rozwiązany (Nie wiem czy dobrym sposobem)

Całość połączenia odbywa się przez "ShellStream" który pozwala na pozostanie w aktualnej sesji oraz konsoli aktywnego programu (Wcześniej sshClient.CreateCommand).
Jedynym problemem było wyświetlanie informacji z konsoli w aplikacji ale również poradziłem sobie z tym oto takim rozwiązaniem:

conn();
            Thread thread = new Thread(new ThreadStart(msgRes));
            thread.IsBackground = true;
            thread.Start();

            if (sshClient.IsConnected)
            {
                labka.Content = "Connect";
            }

oraz
 

        private void msgRes()
        {
            while (true)
            {
                if (shellStreamSSH != null && shellStreamSSH.DataAvailable)
                {
                    string msgRes = shellStreamSSH.Read();
                    box1.Dispatcher.Invoke(() => { box1.Text += msgRes; });
                    Thread.Sleep(200);
                }
                
            }
        }

Gdyby okazało się że istnieje lepsze rozwiązanie problemu lub metoda działania to chętnie o tym poczytam.

Przy rozwiązywaniu tego problemu posiłkowałem się również postem z forum >> LINK

Podobne pytania

0 głosów
2 odpowiedzi 1,937 wizyt
pytanie zadane 29 marca 2021 w Systemy operacyjne, programy przez laiklynn.amaia Obywatel (1,060 p.)
0 głosów
1 odpowiedź 338 wizyt
pytanie zadane 28 listopada 2019 w Systemy operacyjne, programy przez michal_php Stary wyjadacz (13,700 p.)
0 głosów
0 odpowiedzi 581 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...