Prozesse anhalten abhängig vom Namen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
n2
Beiträge: 28
Registriert: 18.03.2003 10:57:19
Wohnort: Berlin
Kontaktdaten:

Prozesse anhalten abhängig vom Namen

Beitrag von n2 » 01.08.2006 15:58:16

Hallo!
Wie kann ich mit einem Befehl alle Prozesse anhalten (SIGSTOP) bzw. fortsetzen (SIGCONT), die "java" im Namen oder im Befehl enthalten?
Hintergrund:
Meinem Notebook ist am schwitzen. Wenn es zu warm wird, schaltet es sich aus. Das kommt im Moment sehr oft vor, wenn die CPU lange Zeit auf 100% läuft. Bei "normalen" Temperaturen läuft es stabil. Scheiss Pentium4! Ich entwickel Java-Anwendungen. Meistens sind es java-Prozesse, die die Prozessorlast verursachen.
Vielen Dank für Eure Hilfe!

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 01.08.2006 16:14:30

Schau dir mal killall an. Das muesste genau das sein, was du suchst.

n2
Beiträge: 28
Registriert: 18.03.2003 10:57:19
Wohnort: Berlin
Kontaktdaten:

Beitrag von n2 » 01.08.2006 16:30:37

killall benutze ich im moment schon. Damit komme ich nicht weiter. Jedesmal wenn ich meine Anwendung übersetze, wird der Rechner zu heiss und schaltet sich aus. Mit killall kann ich das verhindern und den Übersetzungsprozess abschiessen. So kann ich aber niemals die Übersetzung abschliessen.
Ich will den Prozess anhalten, warten bis der Rechner abkühlt und dann fortsetzen. Das klappt bisher nur mit grafischen Prozesstools (kpm).

n2
Beiträge: 28
Registriert: 18.03.2003 10:57:19
Wohnort: Berlin
Kontaktdaten:

Beitrag von n2 » 01.08.2006 16:49:01

Ich habe in gkrellm killall -9 java als Warnugsbefehl eingestellt, wenn der Rechner zu heiss wird, Diesen Befehl wird ich gerne ersetzen durch stopall -p java. Leider gibt es kein stopall, oder?

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 01.08.2006 16:53:35

Uhm, wenn du ihm das richtige Signal schickst?

Code: Alles auswählen

killall -STP javac
sollte alle javac-Prozesse stoppen.
Und spaeter kannst du dann mit

Code: Alles auswählen

killall -CONT javac
die Java-Prozesse wieder weiterlaufen lassen.

n2
Beiträge: 28
Registriert: 18.03.2003 10:57:19
Wohnort: Berlin
Kontaktdaten:

Beitrag von n2 » 01.08.2006 17:05:18

Vielen Dank - es funktioniert!
Ich dachte killall kann nur killen...
Jetzt kann ich den Sommer wieder geniessen.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 01.08.2006 20:16:25

Ne, killall kann genauso wie kill Signale an die Prozesse schicken. Was du bei nem normalen kill schickst ist halt ein SIGTERM zum Beenden bzw. ein SIGKILL wenn du kill -9 machst ;)
Wenns dich interessiert, in

Code: Alles auswählen

man 7 signal
findest du mal die ganze Sammlung an Signalen.

Antworten