Re: Pipe in einer bash
Am 2006-11-01 20:11:51, schrieb Marco Estrada Martinez: > Hi, > > nein ist ein selbst "gebasteltes" Start/Stop-Script starte es nicht mit > start-stop-daemon. Eine /var/run/dnsmasq.pid wird erstellt. Dazu muss > ich aber die PID vorher ermitteln. > > --> > DNSMASQ=`which dnsmasq` > $DNSMASQ > /dev/null 2>&1 > PID=... > echo $PID > $PIDFILE > <-- PID=$$ Thanks, Greetings and nice Day Michelle Konzack Systemadministrator Tamay Dogan Network Debian GNU/Linux Consultant -- Linux-User #280138 with the Linux Counter, http://counter.li.org/ # Debian GNU/Linux Consultant # Michelle Konzack Apt. 917 ICQ #328449886 50, rue de Soultz MSM LinuxMichi 0033/6/6192519367100 Strasbourg/France IRC #Debian (irc.icq.com) -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
* David Haller <[EMAIL PROTECTED]> wrote: > Am Mit, 01 Nov 2006, Jens Schüßler schrieb: > >ps ax|grep dnsmasq|grep -v grep| awk '{ print $1 }' > > Useless use of grep. > > ps ax | grep '[d]nsmasq' | awk '{ print $1 }' > > Warum grep sich so nicht selber findet, sollte sich der Leser selber > klar machen. > > Aber awk kann selber greppen: > > ps ax | awk '/dnsmasq/ { print $1 }' Sehr schön, dachte mir schon immer, das das eleganter gehen müsste. Ein Grund mehr, sich endlich mal intensiver mit awk zu beschäftigen. Btw, ich glaube nicht, das SUSe ohne awk ausgeliefert wird. Gruß Jens
Re: Pipe in einer bash
Am Donnerstag, 2. November 2006 04:31 schrieb David Haller: > Hallo, > > Am Mit, 01 Nov 2006, Marco Estrada Martinez schrieb: > >Ole Janssen schrieb: > >> man pidof > > > >ja aber was ist wenn pidof nicht da ist. Brauche das Script "leider" > >auch unter ner SuSE. da gibt es kein pidof > > Schwachfug! > > # which pidof > /sbin/pidof > # cat /etc/*release > SuSE Linux 6.2 (i386) > VERSION = 6.2 > Ebenfalls bei einer etwas aktuelleren Version: # which pidof /sbin/pidof SUSE LINUX 10.1 (i586) VERSION = 10.1 > Es ist nur nicht im Pfad von Otto Normaluser. Wowereit. > > Kannst du in Zukunft bitte auf unqualifiziertes FUD verzichten? > Verbindlichsten Dank. Christian Paul -- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);' -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
Hallo, Am Mit, 01 Nov 2006, Marco Estrada Martinez schrieb: >DNSMASQ=`which dnsmasq` *AUA!* Du willst keinen Daemon mit unbekanntem Pfad als root starten. >$DNSMASQ > /dev/null 2>&1 $DNSMASQ > /dev/null 2>&1 & >PID=... >echo $PID > $PIDFILE echo $! > /var/run/dnsmasq.pid Aber das macht dnsmasq wohl schon selbst. Ansonsten gibt's immer noch den start-stop-daemon und/oder startproc/checkproc/killproc. startproc -f /var/run/dnsmasq.pid /usr/sbin/dnsmasq checkproc -f /var/run/dnsmasq.pid /usr/sbin/dnsmasq killproc -f /var/run/dnsmasq.pid /usr/sbin/dnsmasq -dnh -- Do kanns disch naggisch anne Degge haenge, de Fraach is falsch formulieät.-- Badesalz -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
Hallo, Am Mit, 01 Nov 2006, Marco Estrada Martinez schrieb: >Ole Janssen schrieb: >> man pidof > >ja aber was ist wenn pidof nicht da ist. Brauche das Script "leider" >auch unter ner SuSE. da gibt es kein pidof Schwachfug! # which pidof /sbin/pidof # cat /etc/*release SuSE Linux 6.2 (i386) VERSION = 6.2 Es ist nur nicht im Pfad von Otto Normaluser. Wowereit. Kannst du in Zukunft bitte auf unqualifiziertes FUD verzichten? Verbindlichsten Dank. -dnh -- That's O'Neill with two L's, the other one has no sense of humor. -- Col. Jack O'Neill, Stargate -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
Hallo, Am Mit, 01 Nov 2006, Jens Schüßler schrieb: >ps ax|grep dnsmasq|grep -v grep| awk '{ print $1 }' Useless use of grep. ps ax | grep '[d]nsmasq' | awk '{ print $1 }' Warum grep sich so nicht selber findet, sollte sich der Leser selber klar machen. Aber awk kann selber greppen: ps ax | awk '/dnsmasq/ { print $1 }' -dnh -- > > wenn Du auch unbedingt eines der größten Rätsel der Informatik benutzen > > mußt... > Ich weiß gar nicht, was du gegen den vi(m) hast, nichts wirksames, von :q! mal abgesehen... [Hajo Pflueger und Christopher Splinter in dag°] -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
Am Mittwoch, 1. November 2006 20:43 schrieb Marco Estrada Martinez: > Frank Dietrich schrieb: > >PIDOF=`ps ax -o pid,comm | awk '/dnsmasq/ {print $1;exit}'` > >echo "PID von dnsmasq: "$PIDOF > > Hi, > > Mh, das klingt schon sehr gut. Ist es jetzt noch irgend wie möglich > das ohne awk zu machen. da awk schon wieder ein nicht bash-build in > programm ist. Was ist wenn awk nicht installiert ist. Danke das ist > aber trotzdem ne sehr gute Variante. Vielleicht so: PIDOF=`ps ax -o pid,comm | grep dnsmasq` echo ${PIDOF//dnsmasq/} lauft dnsmasq mehrmals werden alle pids geliefert. > Gruß Marco Grüße Dirk pgp7FzXaU86ud.pgp Description: PGP signature
Re: Pipe in einer bash
Hallo Marco! Marco Estrada Martinez schrieb am Mittwoch, den 01. November 2006: > Frank Dietrich schrieb: > >PIDOF=`ps ax -o pid,comm | awk '/dnsmasq/ {print $1;exit}'` > >echo "PID von dnsmasq: "$PIDOF > Mh, das klingt schon sehr gut. Ist es jetzt noch irgend wie möglich das > ohne awk zu machen. da awk schon wieder ein nicht bash-build in programm > ist. Was ist wenn awk nicht installiert ist. Danke das ist aber trotzdem > ne sehr gute Variante. Auch kein bash builtin: ps ax -o pid,comm | sed -ne '/dnsmasq/{s/^ *\([0-9]*\).*$/\1/p;q}'' Aber nur mit bash builtins wird es wohl eher nichts. Grüße Christian -- hundred-and-one symptoms of being an internet addict: 21. Your dog has its own home page.
Re: Pipe in einer bash
Wolf Wiegand schrieb: Steht evtl. pgrep zur Verfügung? Mach es jetzt mit awk oder $! danke trotzdem Brauche das Script "leider" auch unter ner SuSE. Mein Beleid :-P Ja leider hatte auf Arbeit kein Mitsprache recht SuSE kann jeder. Damit konnte ich mich nicht unentbehrlich machen ... ;o( Gruß Marco -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
On Wednesday 01 November 2006 19:56, Marco Estrada Martinez wrote: > Ole Janssen schrieb: > > man pidof > > ja aber was ist wenn pidof nicht da ist. Brauche das Script "leider" > auch unter ner SuSE. da gibt es kein pidof > > THX Marco man pgrep ps + pgrep sind zumindest bei Debian beide in procps. gruß, andreas
Re: Pipe in einer bash
Moin, Marco Estrada Martinez wrote: > Ole Janssen schrieb: > > > man pidof > > ja aber was ist wenn pidof nicht da ist. Steht evtl. pgrep zur Verfügung? > Brauche das Script "leider" > auch unter ner SuSE. Mein Beleid :-P Wolf -- Sehnsüchtig grüßt der, der ich bin, den, der ich gerne sein möchte. (Sören Asbye Kierkegaard) -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
Sven Hoexter schrieb: On Wed, Nov 01, 2006 at 08:43:43PM +0100, Marco Estrada Martinez wrote: Frank Dietrich schrieb: PIDOF=`ps ax -o pid,comm | awk '/dnsmasq/ {print $1;exit}'` echo "PID von dnsmasq: "$PIDOF Hi, Mh, das klingt schon sehr gut. Ist es jetzt noch irgend wie möglich das ohne awk zu machen. da awk schon wieder ein nicht bash-build in programm ist. Was ist wenn awk nicht installiert ist. Danke das ist aber trotzdem ne sehr gute Variante. *lol* Dann erschlage man den Admin und installiere es nach. awk duerfte wohl nur auf richtig abgespeckten embedded Systemen fehlen. Ansonsten im schlimmsten Fall ftp://ftp.gnu.org downloaden installieren und spass haben. Auf Unix systemen uebrigens manchmal als gawk getarnt aber die bringen eigentlich auch selber eine awk Implementierung mit. Eine von den drei(?) gaengigen ist immer da. Allerdings wenn awk fehlt duerfte wohl erst recht kein buildchain vorhanden sein um das zu bauen. Cheers, Sven OK,OK ich erschlage morgen den admin ... Danke aber die awk-cariante klingt am besten. Gruß Marco -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
Ole Janssen schrieb: >mittels PID=$! ermitteln. > > > OK, Danke das $! war mir ganz entfallen. Danke so mach ich es. Gruß Marco -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
On Wed, Nov 01, 2006 at 08:43:43PM +0100, Marco Estrada Martinez wrote: > Frank Dietrich schrieb: > > >PIDOF=`ps ax -o pid,comm | awk '/dnsmasq/ {print $1;exit}'` > >echo "PID von dnsmasq: "$PIDOF > > > > > > > > Hi, > > Mh, das klingt schon sehr gut. Ist es jetzt noch irgend wie möglich das > ohne awk zu machen. da awk schon wieder ein nicht bash-build in programm > ist. Was ist wenn awk nicht installiert ist. Danke das ist aber trotzdem > ne sehr gute Variante. *lol* Dann erschlage man den Admin und installiere es nach. awk duerfte wohl nur auf richtig abgespeckten embedded Systemen fehlen. Ansonsten im schlimmsten Fall ftp://ftp.gnu.org downloaden installieren und spass haben. Auf Unix systemen uebrigens manchmal als gawk getarnt aber die bringen eigentlich auch selber eine awk Implementierung mit. Eine von den drei(?) gaengigen ist immer da. Allerdings wenn awk fehlt duerfte wohl erst recht kein buildchain vorhanden sein um das zu bauen. Cheers, Sven -- If you won't forgive me the rest of my life Let me apologize while I'm still alive I know it's time to face all of my past mistakes [Less than Jake - Rest Of My Life]
Re: Pipe in einer bash
Hi Marco, Marco Estrada Martinez <[EMAIL PROTECTED]> wrote: >nein ist ein selbst "gebasteltes" Start/Stop-Script starte es nicht >mit start-stop-daemon. Eine /var/run/dnsmasq.pid wird erstellt. Dazu >muss ich aber die PID vorher ermitteln. > >--> >DNSMASQ=`which dnsmasq` >$DNSMASQ > /dev/null 2>&1 >PID=... >echo $PID > $PIDFILE ><-- Laut changelog [1] schreibt der dnsmasq seine PID von selbst in /var/run/dnsmasq.pid. Außer Du hast ihm was anderes angegeben (-x, --pid-file). Warum willst Du es ihn nicht selbst erstellen lassen? Frank [1] http://www.thekelleys.org.uk/dnsmasq/CHANGELOG -- Elektronik funktioniert mit Rauch. Ist er aus dem Gerät raus, geht nichts mehr.
Re: Pipe in einer bash
Am Mittwoch, 1. November 2006 20:11 schrieb Marco Estrada Martinez: > nein ist ein selbst "gebasteltes" Start/Stop-Script starte es nicht > mit start-stop-daemon. Eine /var/run/dnsmasq.pid wird erstellt. Dazu > muss ich aber die PID vorher ermitteln. > > --> > DNSMASQ=`which dnsmasq` > $DNSMASQ > /dev/null 2>&1 Forkt dnsmasq denn von alleine in den Hintergrund?? (Ich kenne das Programm nicht.) Ansonsten fehlt hier ein & am Ende der Zeile und dann könntest Du die PID in der folgenden Zeile mittels PID=$! ermitteln. > PID=... > echo $PID > $PIDFILE > <-- Viele Grüße, Ole
Re: Pipe in einer bash
Jens Schüßler schrieb: >Den expr substr Teil kapiere ich gerade nicht, aber an die PID kommst >du so: > >ps ax|grep dnsmasq|grep -v grep| awk '{ print $1 }' > > > > Naja wenn ich aus dem ersten Teil z.B. 12345 dnsmasq zurück bekomme kann der subster mir die PID rausschneiden. Dies wäre eine Variante nur mit bash-buildin Mitteln Gruß Marco -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
Frank Dietrich schrieb: >PIDOF=`ps ax -o pid,comm | awk '/dnsmasq/ {print $1;exit}'` >echo "PID von dnsmasq: "$PIDOF > > > Hi, Mh, das klingt schon sehr gut. Ist es jetzt noch irgend wie möglich das ohne awk zu machen. da awk schon wieder ein nicht bash-build in programm ist. Was ist wenn awk nicht installiert ist. Danke das ist aber trotzdem ne sehr gute Variante. Gruß Marco -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
* Marco Estrada Martinez <[EMAIL PROTECTED]> wrote: > Hi Liste, > > habe ein kleines Shellscript in der ich die PID eines Processes > ermitteln muß. nun mache ich es irgendwie umständlich mit read ... Jetzt > wär meine Idee es gleich alles in einer Zeile zu machen. Mir fehlt nur > gerade das Verständniss wie ich einer oder zwei pipes "|" die Rückgabe > der letzten Anweisung übergebe. > > Ich dachte ungefähr so: > > ps ax | grep dnsmasq | expr substr RÜCKGABE 10 5 Den expr substr Teil kapiere ich gerade nicht, aber an die PID kommst du so: ps ax|grep dnsmasq|grep -v grep| awk '{ print $1 }' Gruß Jens
Re: Pipe in einer bash
Am Mittwoch, den 01.11.2006, 19:21 +0100 schrieb Marco Estrada Martinez: > Es sei den Ihr habt eine andere "bessere" Lösung an die PID eines Processes > zu kommen. Wenn dnsmasq als daemon gestartet wird, steht die Pid vielleicht in /var/run/dnsmasq.pid Greetz, Andre -- BOFH-excuse of the day: The electricity substation in the car park blew up. signature.asc Description: Dies ist ein digital signierter Nachrichtenteil
Re: Pipe in einer bash
On Wed, Nov 01, 2006 at 07:21:03PM +0100, Marco Estrada Martinez wrote: > Hi Liste, > > habe ein kleines Shellscript in der ich die PID eines Processes > ermitteln muß. nun mache ich es irgendwie umständlich mit read ... Jetzt > wär meine Idee es gleich alles in einer Zeile zu machen. Mir fehlt nur > gerade das Verständniss wie ich einer oder zwei pipes "|" die Rückgabe > der letzten Anweisung übergebe. > > Ich dachte ungefähr so: > > ps ax | grep dnsmasq | expr substr RÜCKGABE 10 5 > > Nun wäre die Frage wie ich in RÜCKGABE den Wert aus dem ersten Teil "ps ax | > grep dnsmasq" bekomme. Es sei den Ihr habt eine andere "bessere" Lösung an > die PID eines Processes zu kommen. man cut. BTW: Was passiert, wenn das Programm mehr als einmal laeuft? cu ulf -- Ulf Volmer [EMAIL PROTECTED] www.u-v.de -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
Hi Marco, Marco Estrada Martinez <[EMAIL PROTECTED]> wrote: >habe ein kleines Shellscript in der ich die PID eines Processes >ermitteln muß. nun mache ich es irgendwie umständlich mit read ... > >Ich dachte ungefähr so: > >ps ax | grep dnsmasq | expr substr RÜCKGABE 10 5 Das hier liefert Dir die (kleinste) PID eines dnsmasq Prozesses. ps ax -o pid,comm | awk '/mrxvt/ {print $1;exit}' Wenn Du diesen Wert in einer Variablen haben willst, folgende Zeilen in Deinem Script mit einbauen. PIDOF=`ps ax -o pid,comm | awk '/dnsmasq/ {print $1;exit}'` echo "PID von dnsmasq: "$PIDOF Gruß Frank -- Your skill in reading was increased by 1 point.
Re: Pipe in einer bash
Christian Fröse schrieb: > Marco Estrada Martinez wrote: > >> Hi Liste, >> >> habe ein kleines Shellscript in der ich die PID eines Processes >> ermitteln muß. nun mache ich es irgendwie umständlich mit read ... Jetzt >> wär meine Idee es gleich alles in einer Zeile zu machen. Mir fehlt nur >> gerade das Verständniss wie ich einer oder zwei pipes "|" die Rückgabe >> der letzten Anweisung übergebe. >> >> Ich dachte ungefähr so: >> >> ps ax | grep dnsmasq | expr substr RÜCKGABE 10 5 >> >> Nun wäre die Frage wie ich in RÜCKGABE den Wert aus dem ersten Teil >> "ps ax | grep dnsmasq" bekomme. Es sei den Ihr habt eine andere >> "bessere" Lösung an die PID eines Processes zu kommen. >> >> THX Marco >> >> > > Hi! > > Wird von dem Startscript kein PID-File in /var/run abgelegt? > > MfG > Christian > Hi, nein ist ein selbst "gebasteltes" Start/Stop-Script starte es nicht mit start-stop-daemon. Eine /var/run/dnsmasq.pid wird erstellt. Dazu muss ich aber die PID vorher ermitteln. --> DNSMASQ=`which dnsmasq` $DNSMASQ > /dev/null 2>&1 PID=... echo $PID > $PIDFILE <-- Gruß Marco -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
* Marco Estrada Martinez <[EMAIL PROTECTED]> [01-11-2006 19:56]: > ja aber was ist wenn pidof nicht da ist. Brauche das Script "leider" > auch unter ner SuSE. da gibt es kein pidof Ist vielleicht nicht im $PATH, schau mal unter /sbin signature.asc Description: Digital signature
Re: Pipe in einer bash
Ole Janssen schrieb: > man pidof ja aber was ist wenn pidof nicht da ist. Brauche das Script "leider" auch unter ner SuSE. da gibt es kein pidof THX Marco -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: Pipe in einer bash
Marco Estrada Martinez wrote: Hi Liste, habe ein kleines Shellscript in der ich die PID eines Processes ermitteln muß. nun mache ich es irgendwie umständlich mit read ... Jetzt wär meine Idee es gleich alles in einer Zeile zu machen. Mir fehlt nur gerade das Verständniss wie ich einer oder zwei pipes "|" die Rückgabe der letzten Anweisung übergebe. Ich dachte ungefähr so: ps ax | grep dnsmasq | expr substr RÜCKGABE 10 5 Nun wäre die Frage wie ich in RÜCKGABE den Wert aus dem ersten Teil "ps ax | grep dnsmasq" bekomme. Es sei den Ihr habt eine andere "bessere" Lösung an die PID eines Processes zu kommen. THX Marco Hi! Wird von dem Startscript kein PID-File in /var/run abgelegt? MfG Christian -- - Christian Froese Falkstrasse 12 06886 Lu.Wittenberg
Re: Pipe in einer bash
Am Mittwoch, 1. November 2006 19:21 schrieb Marco Estrada Martinez: > [...] > Es sei den Ihr habt eine andere > "bessere" Lösung an die PID eines Processes zu kommen. man pidof Viele Grüße, Ole