myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Basistechnologien und allgemeine .NET-Klassen » Wie kann ich einen Prozess pausieren?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie kann ich einen Prozess pausieren?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
demo
myCSharp.de-Mitglied

Dabei seit: 07.10.2004
Beiträge: 12
Entwicklungsumgebung: vs.net
Herkunft: Österreich


demo ist offline

Wie kann ich einen Prozess pausieren?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Dereee!

Ich brauche für mein Programm eine Pausefunktion für einen Vorgang.
Dieser Vorgang ist ein Prozess - also irgendein Programm -, den ich aus
meinem Programm starte (kein Thread!!!).

Gibt es eine Möglichkeit diesen Prozess schlafen zu legen, wenn ja wie?

Danke im Voraus!

mfg demo
20.04.2005 16:04 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zeroblaster Zeroblaster ist männlich
myCSharp.de-Mitglied

Dabei seit: 08.03.2005
Beiträge: 16
Entwicklungsumgebung: Visual Studio . Net 2003


Zeroblaster ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hmm warum willst du den Prozess den du aus C# startest
oder willst du dein C# Programm stillegen bis der Prozess beendet ist ?
20.04.2005 16:07 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
demo
myCSharp.de-Mitglied

Dabei seit: 07.10.2004
Beiträge: 12
Entwicklungsumgebung: vs.net
Herkunft: Österreich

Themenstarter Thema begonnen von demo

demo ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Nein, ich will nicht warten, bis er beendet ist!

Ich benutze ein Komprimierungsprogramm und möchte den Vorgang der Kompression mittels Button pausieren lassen.

Und das ist nunmal ein fremdes Programm!
20.04.2005 16:10 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
svenson svenson ist männlich
myCSharp.de-Mitglied

Dabei seit: 15.04.2005
Beiträge: 8.746
Entwicklungsumgebung: Visual Studio .NET 2003
Herkunft: Berlin


svenson ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Vom BS gibt es meines Wissens keine Funktion um einen Prozess pausieren zu lassen. Ein wirkungsvoller Weg sollte aber sein, die Prozesspriorität soweit nach unten zu setzen, bis das Programm praktisch nicht mehr drankommt (bz.w nur wenn sonst gar nix im System passiert). Echtes "Anhalten" ist das aber nicht.

Zumindest ist aber das System wieder "schnell".
21.04.2005 11:03 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Poweruser/ Experte

avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 49.484
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo demo,

ich denke auch, dass zuverlässig anhalten nicht geht. Wenn das Kompressionsprogramm ein Kommandozeilenprogramm ist, könntest du Ein- und Ausgabe zu dir umleiten (.RedirectStandardInput/Output) und dann versuchen, die Ausgabe anzuhalten, wie das auf der Kommandozeile geht (Strg+S) oder die Ausgabe einfach nicht lesen. Das hält den Prozess auch nicht direkt an, aber irgendwann blockiert dann (hoffentlich) eine Ausgabefunktion des Prozesses, woraufhin er wirklich stoppt.

herbivore
21.04.2005 11:34 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
demo
myCSharp.de-Mitglied

Dabei seit: 07.10.2004
Beiträge: 12
Entwicklungsumgebung: vs.net
Herkunft: Österreich

Themenstarter Thema begonnen von demo

demo ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

mhm schade!

jo gut ich verwende die rar.exe also konsolenprogramm

und soviel ausgabe hat das ding auch nicht, als dass sich das programm
selbst sperrt.

mhm blöd

danke trotzdem
21.04.2005 17:28 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 15 Jahre.
M.Lach M.Lach ist männlich
myCSharp.de-Mitglied

Dabei seit: 06.11.2008
Beiträge: 28


M.Lach ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

schon was her, das hier beschrieben wurde, aber ich habe eine ähnliche Frage.
Im Ressourcen-Monitor gibt es mit einem "Rechtsklick" auf einen Prozess die Möglichkeit, diesen zu "pausieren" (nicht Kill!) und auch danach diesen wieder fortzuführen.
Diese Funktion würde ich gerne in ein eigenes Programm einbauen.
Ziel: prüfen, ob ein Prozess läuft.
Wenn Ja, diesen für einen einstellbaren Zeitraum (alle 10 Minuten) zu unterrechen und nach einem weiteren Zeitraum (15 Sekunden) fort zuführen.
das in einer kleinen GUI-Exe, in der ich die 2 Zeiten einstellen kann.
Mir fehlt die Idee (das Wissen) wie ich diese Pause auslöse.
Wenn nein: Melden, das der Prozess nicht da ist und Nichts machen.
-
Wenn ich das aber richtig verstanden habe, gibt es (im Gegensatz zu "Kill") diese Art der "Pause" für einen Prozess nicht in c#?
10.11.2020 10:24 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
HansFred
myCSharp.de-Mitglied

Dabei seit: 19.10.2020
Beiträge: 48


HansFred ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

c# ist keine runtime sondern eine programmiersprache du solltest daher schauen wie die windows API dafür ist und kannst diese dann mit c# ansprechen.
c# ist behandelt die windows api nur wie ein wrapper aber manche dinge muss man selbst wrappen.

das prozess pausieren ist in echt aber kein prozess pausieren sondern einen snapshot machen und dann den prozess wieder mit dem snapshot starten. das heisst du wirst aus der applikation selbst keine chance haben den eigenen prozess der anwendung wieder zu starten
10.11.2020 10:31 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Th69
myCSharp.de-Poweruser/ Experte

avatar-2578.jpg


Dabei seit: 01.04.2008
Beiträge: 3.869
Entwicklungsumgebung: Visual Studio 2015/17


Th69 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Schau mal in  How to pause or resume a process with c# (effektiv werden damit alle Threads des Prozesses angehalten bzw. fortgesetzt).
10.11.2020 11:17 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 15 Jahre.
Der letzte Beitrag ist älter als 2 Monate.
Antwort erstellen


© Copyright 2003-2021 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 27.01.2021 11:14