ssh login ohne passworteingabe [perfekt gelöst]
nun ja es werden 3 Prozesse gestartet.
in der inettab steht er soll die start.sh ausführen.
diese wiederum führt die mysql_connect.sh aus (wieder ein dienst) die dann die Verbindung herstellt.
So wenn ich jetzt nur den ersten dienst (inettab start.sh) kille bleiben alle anderen noch erhalten auch die Verbindung. Jetzt für er den gekillten dient aber wieder aus und somit stellt er nochmal eine Verbindung her. Somit habe ich 2 Verbindungen zur Datenbank nur mit jeweils anderen PID´s.
Daher meine frage ob man nicht irgendwie bestehende Prozee beim neustarten killen kann
in der inettab steht er soll die start.sh ausführen.
diese wiederum führt die mysql_connect.sh aus (wieder ein dienst) die dann die Verbindung herstellt.
So wenn ich jetzt nur den ersten dienst (inettab start.sh) kille bleiben alle anderen noch erhalten auch die Verbindung. Jetzt für er den gekillten dient aber wieder aus und somit stellt er nochmal eine Verbindung her. Somit habe ich 2 Verbindungen zur Datenbank nur mit jeweils anderen PID´s.
Daher meine frage ob man nicht irgendwie bestehende Prozee beim neustarten killen kann
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
na du kannst halt per
die PID rausfinden und wenn du eine gefunden hast, sie einfach killen..?!!
Code: Alles auswählen
ps ax | grep mysql_connect | nawl '{print $1}'
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
ups.. ich meinte "nawk"
na du machst in deinem script z.B. folgendes:
na du machst in deinem script z.B. folgendes:
Code: Alles auswählen
MYSQL_PID=`ps ax | grep mysql_connect | nawk '{print $1}'`
if [ "$MYSQL_PID != "" ]
then
kill -9 $MYSQL_PID
fi
ah ok.
mysql_connect ist das kommando des prozess oder ? den müsste ich ich
expect /var/lib/connect/mysql_connect.sh ändern weil steht ja so in ps
sehe ich das richtig ?
mysql_connect ist das kommando des prozess oder ? den müsste ich ich
expect /var/lib/connect/mysql_connect.sh ändern weil steht ja so in ps
Code: Alles auswählen
521 ? S 0:00 expect /var/lib/connect/mysql_connect.sh
ja wenn ich nur mysql_connect nehme bekomme ich das hier
wobei 521 der richtige Prozess ist was das andere ist wei ich nicht
wenn ich es so mache
kommt das heraus
Code: Alles auswählen
root:/home/user# MYSQL_PID=`ps ax | grep mysql_connect | nawk '{print $1}'`
root:/home/user# echo $MYSQL_PID
521 1570
wenn ich es so mache
Code: Alles auswählen
root:/home/user# MYSQL_PID=`ps ax | grep mysql_connect |grep -v expect | nawk '{print $1}'`
root:/home/user# echo $MYSQL_PID
1729
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
was macht die Ausgabe
und was
??
Code: Alles auswählen
ps ax | grep mysql_connect |grep -v expect
Code: Alles auswählen
ps ax | grep mysql_connect
ahh was auch immer das -v bedeutet lass ich es weg und schreibe es so
dann stimmt es wieder
Code: Alles auswählen
root:/home/user# MYSQL_PID=`ps ax | grep mysql_connect |grep expect | nawk '{print $1}'`
root:/home/user# echo $MYSQL_PID
521
Code: Alles auswählen
root:/home/user# ps ax | grep mysql_connect |grep -v expect
1866 pts/1 S 0:00 grep mysql_connect
Code: Alles auswählen
root:/home/user# ps ax | grep mysql_connect
521 ? S 0:00 expect /var/lib/connect/mysql_connect.sh
1890 pts/1 S 0:00 grep mysql_connect
- Savar
- Beiträge: 7174
- Registriert: 30.07.2004 09:28:58
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Berlin
ah ok.. du brauchs die Zeile.. dann musst du statt
einfach machen..
-v bedeutet das du keine Zeile mit dem Inhalt den du dahinter angibst ausgegeben bekommst..
also löscht er alle zeilen in denen "grep" steht..
Code: Alles auswählen
grep -v expect
Code: Alles auswählen
grep -v grep
-v bedeutet das du keine Zeile mit dem Inhalt den du dahinter angibst ausgegeben bekommst..
also löscht er alle zeilen in denen "grep" steht..
So das ganze sieht jetzt so aus
und es funktioniert 
Code: Alles auswählen
#!/bin/sh
MYSQL_PID=`ps ax | grep mysql_connect |grep -v grep| nawk '{print $1}'`
if [ "$MYSQL_PID != "" ]
then
kill -9 $MYSQL_PID
fi
CON_PID=`ps ax | grep res@dbprod.xxxxxx.de |grep -v grep| nawk '{print $1}'`
if [ "$CON_PID != "" ]
then
kill -9 $CON_PID
fi
expect /var/lib/connect/mysql_connect.sh &>/dev/null
