[C#] SSH.NET Tastenkombo Senden

04/17/2014 19:11 dOofkopf!™#1
Hey leute, ich habe mir ein Programm geschrieben das auf einen Linux Root ein Perl Skript startet, nun um das zu beenden muss man ja die Tastenkombination CTRL + C senden, kann ich das von mein Programm auch?

Also wie kann mit mit ssh.net den Befehl schicken?

Mein bisheriger Code

Code:
 
 var cmd = sshClient.RunCommand("perl xy.pl");
                        listBox1.Items.Add("Running Command: perl xy.pl");
                        var output = cmd.Result;
                        listBox1.Items.Add("Skript started");
                        button1.Enabled = false;
Und nun würde ich gern per Button das Skript mit CTRL + C stoppen :)

MfG
Niko
04/17/2014 20:20 Mostey#2
Wieso baust du in dein Skript keine Funktion ein, die den laufenden Thread von außen beendet?

Mit Linux kenne ich mich nicht sonderlich gut aus, allerdings kenne ich die gewisse Funktionsweise von Diensten wo man einfach nur ein service <servicename> <on/off/status/restart> senden muss.

Sowas sollte mit einer Pipe möglich sein.
04/17/2014 20:31 dOofkopf!™#3
Quote:
Originally Posted by Mostey View Post
Wieso baust du in dein Skript keine Funktion ein, die den laufenden Thread von außen beendet?

Mit Linux kenne ich mich nicht sonderlich gut aus, allerdings kenne ich die gewisse Funktionsweise von Diensten wo man einfach nur ein service <servicename> <on/off/status/restart> senden muss.

Sowas sollte mit einer Pipe möglich sein.
Danke erstmal.

Das Skript ist nicht von mir und ich hab davon leider auch keine Ahnung, aber ich schau mir mal an was du da geschrieben hast.
04/18/2014 22:54 Lord iRemix#4
Quote:
Originally Posted by Mostey View Post
Wieso baust du in dein Skript keine Funktion ein, die den laufenden Thread von außen beendet?

Mit Linux kenne ich mich nicht sonderlich gut aus, allerdings kenne ich die gewisse Funktionsweise von Diensten wo man einfach nur ein service <servicename> <on/off/status/restart> senden muss.

Sowas sollte mit einer Pipe möglich sein.
Oder man könnte die Prozess ID auslesen und diese beenden :D
04/19/2014 20:56 dOofkopf!™#5
Quote:
Originally Posted by [iRemix] View Post
Oder man könnte die Prozess ID auslesen und diese beenden :D
yo die PID auslesen allerdings ist das bei Perl bisschen anders :p
04/20/2014 00:07 Luxxus²#6
Kannst auch einfach
killall xyz.pl
Als Befehl nutzen

Best regards
04/20/2014 13:00 Mostey#7
Quote:
Originally Posted by [iRemix] View Post
Oder man könnte die Prozess ID auslesen und diese beenden :D
Quote:
Originally Posted by Luxxus² View Post
Kannst auch einfach
killall xyz.pl
Als Befehl nutzen

Best regards
Prozesse (zwanghaft) zu beenden bzw. zu killen ist nicht gerade sehr sauber. Sofern der Bot dauerhaft Daten speichert und lädt ist das sicherlich keine gute Idee, da es unter anderem zu Datenverlust kommen kann.
04/20/2014 17:53 Luxxus²#8
Quote:
Originally Posted by Mostey View Post
Prozesse (zwanghaft) zu beenden bzw. zu killen ist nicht gerade sehr sauber. Sofern der Bot dauerhaft Daten speichert und lädt ist das sicherlich keine gute Idee, da es unter anderem zu Datenverlust kommen kann.
Da muss ich dir zustimmen.
Jedoch hat dieses Script keine ausschalt Funktion so wie ich das mitbekommen habe.
Man müsste also das Script so umschreiben, dass alle Klassen und Funktionen sauber beendet werden.

Best regards
04/23/2014 22:09 dOofkopf!™#9
Es ist ein Simples UDP Flood, es schickt einfach Packete an eine IP.
Leider kann ich nicht prüfen ob es funktioniert hat und muss es immer selbst mti CTRL C beenden