Externen Prozess suspenden/anhalten?

Yellow

Yellow

Doppel-As
Guten Tag Community!

Ich möchte gerne ein Programm suspenden/anhalten. Doch nicht das Aktuell laufende, sondern ein x-belibiges Programm meiner Wahl!

Nun ist aber das Problem das ich das noch nie gemacht habe und ich habe bis tato noch keine gute Lektüre gefunden habe die mir erklärt wie ich fremde Prozesse suspenden kann.

Ich möchte gerne ein Programm schreiben das nicht nur unter Linux mit dem Code sondern auch unter Windows funktionieren kann.

Kann mir da einer etwas weiterhelfen bitte? Wie ich prorgamme beende und auch die PID ermittel habe ich raus doch leider nicht wie ich die suspende!

DANKE Yellow :hilfe2:
 
man signal

Kannst mal SIGSTOP und SIGCONT ausprobieren (unter *nix).


Gruß,

Lord Kefir
 
Ich möchte gerne ein Programm schreiben das nicht nur unter Linux mit dem Code sondern auch unter Windows funktionieren kann.

Das kannst du knicken.

Danke erstmal für deine schnelle Antwort. Doch was meinst du mit
Zitat:
Zitat von Lord Kefir Beitrag anzeigen
(unter *nix)

Unter Unix-Derrivaten funktioniert das. Sprich Linux, Solaris, BSD usw.

Beliebige Programme suspenden kannst du eh vergessen. Das Programm muss das schließlich unterstützen.
Sprich es gibt kein allgemeines Signal auf das alle Programme hören und dann den suspend ausführen.
 
hm ok.. also unter Linux denke ich habe ich es jetzt. Naja für die anderen Plattformen muß ich mal weiter suchen! Thx erstmal @all
 
Aber wie supersucker schon sagte: eine Garantie das es überhaupt funktioniert gibt es nicht.


Gruß,

Lord Kefir
 
Es wundert mich das es für das Beenden und Suspenden von Prozessen keine Bibliotheken gibt. Das ist doch ein oft angesprochenes Thema oder?
 
Nein, den Eindruck hatte ich noch nie. Davon abgesehen hatte ich noch nie das Bedürfnis, igendeinen Prozess zu stoppen und nach geraumer Zeit wieder zu starten.

Mfg,

Lord Kefir
 
Ok wie ist es wenn ich dem Programm die Komplette CPU entziehe, dann sollte es doch System übergreifend funktionieren oder?

hm... doch dann müste man auch wissen wie man einem die CPU klaut ! :/
 
Sorry, aber dir fehlen offensichtlich die absoluten Basics, die ich mir erst mal anlesen würde.

Ok wie ist es wenn ich dem Programm die Komplette CPU entziehe,

HÄH?

Du kannst __maximal__ dem Prozeß eine niedrigere Priorität geben,

Code:
man nice

dann sollte es doch System übergreifend funktionieren oder?

Also noch mal zum Mitmeißeln: NEIN.

Auf dieser low-level Ebene ist NICHTS mehr mit system-übergreifend!
 
Also erstmal, ich nehme es dir nicht übel. Bin wirklich noch ein Anfänger.

Ich habe unter Windows mal ein Programm benutzt das heist "Remote Task Manager" und dieses Programm konnte JEDE Anwedung "suspenden". Wie es unter Linux nun geht ist mir nun klar. Doch leider nicht auf Windows. Doch das ich von euch da keine Hilfe erwarten kann ist mir auch klar also ist dieses Thread dann ja wohl am Ende angelangt oder!? :)
 
So klar scheint es nicht zu sein. Wie bereits gesagt, es ist:

1.) nicht plattformunabhängig lösbar.
2.) mittels signal() nur bedingt machbar.

Ich denke wenn man so etwas ernsthaft programmieren möchte, kommt man um den Kernelspace nicht herum.



Gruß,

Lord Kefir
 
Beliebige Programme suspenden kannst du eh vergessen. Das Programm muss das schließlich unterstützen.
Sprich es gibt kein allgemeines Signal auf das alle Programme hören und dann den suspend ausführen.

SIGSTOP kann aber (ebenso wie SIGKILL) weder abgefangen, noch ignoriert werden.
 

Ähnliche Themen

Alternative zu Ubuntu gesucht + Mängelliste

Pacman Updateproblem

Windows: Prozess Suspenden?

pid mittels einfachem Code herrausbekommen?

Befehl an Prozess schicken, der per screen abläuft

Zurück
Oben