Probleme mit shell-script - Warten auf Fremdprozess

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
marcosol
Beiträge: 4
Registriert: 06.09.2005 15:07:33
Wohnort: Hamburg

Probleme mit shell-script - Warten auf Fremdprozess

Beitrag von marcosol » 06.09.2005 15:21:35

Hallo Leute,

ich bin neu hier! Seit ein paar Monaten setze ich mich nun schon mit Linux auf Basis von Debian (Sarge) auseinander. Nun habe ich vor in einem Shellscript auf einen Prozess zu warten, der nicht ein Kindprozess dieser Shell ist. Leider kommt man mit dem Befehl wait da nicht wirklich weiter. Nun meine Frage an Euch: Welchen Weg könnte man den alternativ einschlagen, um dieses Problem in den Griff zu bekommen. Die Prozess-ID hole ich mir per grep und awk.

So, bin mal gespannt was ich so von Euch höre. Hoffe ich bin im richtigen Bereich mit meiner Frage gelandet.

Gruß,
Marco

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 06.09.2005 15:27:32

Willkommen im Forum und nein, du warst nicht richtig ;-)

Verschoben von Standardprogramme, Office und Co....

Gruß Savar


PS: sicher das "wait $ID" nicht läuft?

Ansonsten in einer Schleife dein grep alle paar Sekunden durchführen lassen..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
bubuk
Beiträge: 25
Registriert: 08.05.2005 12:33:33
Wohnort: Köln

Beitrag von bubuk » 06.09.2005 15:28:06

Wasnfürnfremdprozess?

Mir fallen da spontan irgendwelche Message Queues ein. Bin allerdings auch kein Experte mit der Shell. Ich weiss nur noch, dass wir mal in C so Sachen programmieren mussten.

Viel Spass

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 06.09.2005 18:54:38

einfachste Lösung ist wahrscheinlich pollen:

Code: Alles auswählen

while ps $PID 1>/dev/null 2>&1; do 
  sleep 10
done
Gruß
gms

marcosol
Beiträge: 4
Registriert: 06.09.2005 15:07:33
Wohnort: Hamburg

Beitrag von marcosol » 07.09.2005 10:31:52

Hallo,

die Lösung mit dem pollen ist mir dann auch eingefallen. Ich hatte halt nur die Hoffnung ohne Schleife eine Lösung zu finden. Nur leider spielt da wait nicht mit. Schade eigentlich. Also dann halt mit Schleife.
gms hat geschrieben:einfachste Lösung ist wahrscheinlich pollen:

Code: Alles auswählen

while ps $PID 1>/dev/null 2>&1; do 
  sleep 10
done
Danke für Eure Hilfe!

Gruß
Marco

Antworten