Strona 1 z 2
[+] Skrypt uruchamiający dany proces po jego śmierci
: 25 lutego 2009, 11:51
autor: xmaster
Witam.
Potrzebuję napisać skrypcik, który:
- Sprawdzi czy dany proces żyje (w tym przypadku serwer CSa).
- Jeśli żyje to:
- Jeśli nie żyje to:i ponowne uruchomienie serwera.
Generalnie to nie wiem jak sprawdzić czy dany proces jest aktywny, resztę powinienem wyskrobać.
: 25 lutego 2009, 11:58
autor: f1.micro
To Ci wywali info o danym procesie
Pamiętaj, że dostaniesz dwie linie. Jedna o procesie, a druga o zapytaniu o proces. Więc już dla samego kodu.
I jeżeli to u góry jest => 2, proces działa.
Problem w tym, że jeżeli się zwiesi proces to on dalej będzie widoczny w ps.
: 25 lutego 2009, 12:03
autor: xmaster
Dzięki za odpowiedź
Zaraz coś posklejam i sprawdzę czy działa
Na "moim" serwerku jak pada CS to w ps go nie pokazuje więc jest szansa że u mnie to zadziała
: 25 lutego 2009, 12:07
autor: f1.micro
No to powinno działać

: 25 lutego 2009, 13:10
autor: xmaster
Testuje to na laptopie i mam tak
Po wykonaniu skryptu
Kod: Zaznacz cały
#/bin/bash
SPRAWDZAM='ps -ef | grep -i firefox-bin | wc -l'
URUCHAMIAM=iceweasel
if [ $SPRAWDZAM -ge 2 ]; then
echo jest ok proces działa ide na piwko;
else
$URUCHAMIAM;
fi
Uruchamia mi się Firefox pomimo iż jet uruchomiany to raz
a dwa wywala w konsoli komunikat
Rozumiem, że w jakiś inny sposób muszę uzyskać wynik polecenia
Tylko jak?
: 25 lutego 2009, 13:15
autor: f1.micro
: 25 lutego 2009, 13:24
autor: xmaster
Kod: Zaznacz cały
hubert@hubert:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Feb23 ? 00:00:03 init [2]
root 2 0 0 Feb23 ? 00:00:00 [kthreadd]
root 3 2 0 Feb23 ? 00:00:00 [migration/0]
root 4 2 0 Feb23 ? 00:00:01 [ksoftirqd/0]
root 5 2 0 Feb23 ? 00:00:00 [watchdog/0]
root 6 2 0 Feb23 ? 00:00:00 [migration/1]
root 7 2 0 Feb23 ? 00:00:00 [ksoftirqd/1]
root 8 2 0 Feb23 ? 00:00:00 [watchdog/1]
root 9 2 0 Feb23 ? 00:00:21 [events/0]
root 10 2 0 Feb23 ? 00:00:20 [events/1]
root 11 2 0 Feb23 ? 00:00:00 [khelper]
root 44 2 0 Feb23 ? 00:00:00 [kblockd/0]
root 45 2 0 Feb23 ? 00:00:00 [kblockd/1]
root 47 2 0 Feb23 ? 00:00:02 [kacpid]
root 48 2 0 Feb23 ? 00:00:15 [kacpi_notify]
root 144 2 0 Feb23 ? 00:00:00 [kseriod]
root 185 2 0 Feb23 ? 00:00:03 [pdflush]
root 186 2 0 Feb23 ? 00:00:00 [pdflush]
root 187 2 0 Feb23 ? 00:00:01 [kswapd0]
root 188 2 0 Feb23 ? 00:00:00 [aio/0]
root 189 2 0 Feb23 ? 00:00:00 [aio/1]
root 715 2 0 Feb23 ? 00:00:00 [ksuspend_usbd]
root 718 2 0 Feb23 ? 00:00:00 [khubd]
root 762 2 0 Feb23 ? 00:00:00 [khpsbpkt]
root 786 2 0 Feb23 ? 00:00:13 [ata/0]
root 796 2 0 Feb23 ? 00:00:00 [ata/1]
root 798 2 0 Feb23 ? 00:00:00 [ata_aux]
root 883 2 0 Feb23 ? 00:00:00 [knodemgrd_0]
root 904 2 0 Feb23 ? 00:00:00 [scsi_eh_0]
root 905 2 0 Feb23 ? 00:02:03 [scsi_eh_1]
root 1017 2 0 Feb23 ? 00:00:02 [kjournald]
root 1093 1 0 Feb23 ? 00:00:00 udevd --daemon
root 1557 2 0 Feb23 ? 00:00:00 [iwl3945/0]
root 1558 2 0 Feb23 ? 00:00:00 [iwl3945/1]
root 1560 2 0 Feb23 ? 00:00:00 [iwl3945]
root 1670 2 0 Feb23 ? 00:00:00 [btaddconn]
root 1671 2 0 Feb23 ? 00:00:00 [btdelconn]
root 1723 2 0 Feb23 ? 00:00:00 [kpsmoused]
root 1757 2 0 Feb23 ? 00:00:00 [pccardd]
root 2122 2 0 Feb23 ? 00:00:03 [kjournald]
root 2222 1 0 Feb23 ? 00:00:00 dhclient3 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp3/dhc
daemon 2273 1 0 Feb23 ? 00:00:00 /sbin/portmap
statd 2284 1 0 Feb23 ? 00:00:00 /sbin/rpc.statd
root 2530 2 0 Feb23 ? 00:01:50 [kondemand/0]
root 2531 2 0 Feb23 ? 00:00:00 [kondemand/1]
root 2613 1 0 Feb23 ? 00:00:01 /usr/sbin/acpid
104 2623 1 0 Feb23 ? 00:00:00 /usr/bin/dbus-daemon --system
avahi 2635 1 0 Feb23 ? 00:00:00 avahi-daemon: running [hubert.local]
avahi 2636 2635 0 Feb23 ? 00:00:00 avahi-daemon: chroot helper
root 2647 1 0 Feb23 ? 00:00:00 /usr/sbin/sshd
root 2710 1 0 Feb23 ? 00:00:00 /usr/sbin/cupsd
101 2977 1 0 Feb23 ? 00:00:00 /usr/sbin/exim4 -bd -q30m
root 3019 1 0 Feb23 ? 00:00:00 /usr/sbin/hddtemp -d -l 127.0.0.1 -p 7634 -s | /dev/sda
106 3066 1 0 Feb23 ? 00:00:14 /usr/sbin/hald
root 3067 3066 0 Feb23 ? 00:00:00 hald-runner
root 3089 3067 0 Feb23 ? 00:00:01 hald-addon-input: Listening on /dev/input/event2 /dev/input/eve
root 3091 3067 0 Feb23 ? 00:00:00 /usr/lib/hal/hald-addon-cpufreq
106 3092 3067 0 Feb23 ? 00:00:00 hald-addon-acpi: listening on acpid socket /var/run/acpid.socke
root 3103 3067 0 Feb23 ? 00:00:43 hald-addon-storage: polling /dev/scd0 (every 2 sec)
root 3111 1 0 Feb23 ? 00:00:00 /usr/sbin/hcid -x -s
root 3125 2 0 Feb23 ? 00:00:00 [krfcommd]
daemon 3146 1 0 Feb23 ? 00:00:00 /usr/sbin/atd
root 3166 1 0 Feb23 ? 00:00:00 /usr/sbin/cron
root 3220 1 0 Feb23 ? 00:00:00 /usr/bin/xdm
root 3227 1 0 Feb23 tty1 00:00:00 /sbin/getty 38400 tty1
root 3230 1 0 Feb23 tty2 00:00:00 /sbin/getty 38400 tty2
root 3231 1 0 Feb23 tty3 00:00:00 /sbin/getty 38400 tty3
root 3232 1 0 Feb23 tty4 00:00:00 /sbin/getty 38400 tty4
root 3235 1 0 Feb23 tty5 00:00:00 /sbin/getty 38400 tty5
root 3236 1 0 Feb23 tty6 00:00:00 /sbin/getty 38400 tty6
root 3247 3220 1 Feb23 tty7 00:42:04 /usr/bin/X :0 vt7 -nolisten tcp -auth /var/lib/xdm/authdir/auth
root 3248 3220 0 Feb23 ? 00:00:00 -:0
hubert 3286 3248 0 Feb23 ? 00:00:10 x-session-manager
hubert 3308 3286 0 Feb23 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session x-s
hubert 3311 1 0 Feb23 ? 00:00:00 /usr/bin/dbus-launch --exit-with-session x-session-manager
hubert 3312 1 0 Feb23 ? 00:00:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --s
hubert 3315 1 0 Feb23 ? 00:00:08 xfce-mcs-manager
hubert 3316 3286 0 Feb23 ? 00:00:26 xfwm4 --sm-client-id 117f000101000123202963800000093760000 --di
hubert 3317 3286 0 Feb23 ? 00:00:21 Thunar --sm-client-id 117f000101000123202963800000093760002 --d
hubert 3319 1 0 Feb23 ? 00:00:03 /usr/lib/gamin/gam_server
hubert 3320 3286 0 Feb23 ? 00:02:16 xfdesktop --sm-client-id 117f000101000123202964100000093760003
hubert 3325 3286 0 Feb23 ? 00:03:26 xfce4-panel --sm-client-id 117f00010100012320296380000009376000
hubert 3326 3286 0 Feb23 ? 00:07:16 kadu -session 117f000101000123272069700000049250002_1232720739_
hubert 3327 3325 0 Feb23 ? 00:01:49 /usr/lib/xfce4/panel-plugins/xfce4-menu-plugin socket_id 188744
hubert 3328 3325 0 Feb23 ? 00:00:38 /usr/lib/xfce4-sensors-plugin/xfce4/panel-plugins/xfce4-sensors
hubert 3329 3325 0 Feb23 ? 00:04:36 /usr/lib/xfce4-weather-plugin/xfce4/panel-plugins/xfce4-weather
hubert 3330 3325 0 Feb23 ? 00:00:56 /usr/lib/xfce4/panel-plugins/xfce4-mixer-plugin socket_id 18874
hubert 3331 3325 0 Feb23 ? 00:00:00 /usr/lib/xfce4-screenshooter-plugin/xfce4/panel-plugins/xfce4-s
hubert 3337 1 0 Feb23 ? 00:00:00 /usr/lib/libgconf2-4/gconfd-2 12
hubert 3339 3327 0 Feb23 ? 00:01:57 claws-mail
hubert 7040 1 3 Feb24 ? 00:42:15 /usr/lib/iceweasel/firefox-bin
root 8936 1 0 09:30 ? 00:00:00 syslog-ng
hubert 9204 1 0 12:04 ? 00:00:04 xfce4-terminal
hubert 9205 9204 0 12:04 ? 00:00:00 gnome-pty-helper
hubert 9222 9204 0 12:09 pts/1 00:00:00 bash
hubert 9383 9204 0 12:59 pts/0 00:00:00 bash
hubert 9508 9222 0 13:23 pts/1 00:00:00 ps -ef
: 25 lutego 2009, 13:30
autor: f1.micro
Kod: Zaznacz cały
#/bin/bash
SPRAWDZAM='ps -ef | grep -i firefox-bin | wc -l'
URUCHAMIAM=iceweasel
{
if [ $SPRAWDZAM = 2 ]; then
echo jest ok proces działa ide na piwko;
else
$URUCHAMIAM;
fi
}
Spróbuj coś takiego. Ew jeszcze weź 2 w apostrofy, bo możliwe, że wc wywala wartość tekstową a nie liczbową, jeżeli to ma jakieś znaczenie. Text po echo też weź obejmij apostrofami.
A samo, daje wynik 2?
: 25 lutego 2009, 13:36
autor: xmaster
hubert@hubert:~$ ps -ef | grep -i firefox-bin | wc -l
2
Nadal za dużo argumentów

tylko teraz w linii 5

przez {
teraz jest tak i nadal lipa
#/bin/bash
SPRAWDZAM='ps -ef | grep -i firefox-bin | wc -l'
URUCHAMIAM=iceweasel
{
if [ $SPRAWDZAM -ge 2 ]; then
echo 'jest ok proces działa ide na piwko';
else
$URUCHAMIAM;
fi
}
: 25 lutego 2009, 13:44
autor: f1.micro
-ge na =
Zamieniałeś? Spróbuj, może o to chodzi.